首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用转义分隔符和非转义分隔符拆分字符串

问尝试使用转义分隔符和非转义分隔符拆分字符串
EN

Stack Overflow用户
提问于 2018-08-15 02:33:51
回答 1查看 47关注 0票数 1

我有一个a b/c\/d\/e/f形式的字符串。我试图在非转义的正斜杠上拆分字符串。

到目前为止,我有这个正则表达式,(?:[^\\/])/。但是,它使用/前面的最后一个字符。因此,如果我使用"#“而不是拆分进行替换,则字符串看起来像a #c\/d\/#f。在拆分的情况下,我得到的字符串与使用的最后一个字符的分隔方式相同。

我尝试使用非捕获组,但似乎也不起作用。在javascript中做这件事。

EN

回答 1

Stack Overflow用户

发布于 2018-08-15 03:26:12

您可以在JS中使用此正则表达式,忽略所有转义的情况,即\/,返回/之前的所有匹配。当\也被转义为\\时,这个正则表达式还会处理这种情况。

代码语言:javascript
复制
/[^\\\/]*(?:\\.[^\\\/]*)*(?=\/|$)/gm

RegEx Demo

​

代码语言:javascript
复制
const regex = /[^\\\/]*(?:\\.[^\\\/]*)*(?=\/|$)/gm
const str = `\\\\\\\\\\\\/a b/c\\/d\\\\/e\\\\\\/f1/2\\\\\\\\\\\\\\/23/99`;

let m = str.match(regex).filter(Boolean)

console.log(m)

​

  • .filter(Boolean)用于筛选空匹配项。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51847799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档