Javascript正则表达式拆分
这是我的绳子Javascript正则表达式拆分,javascript,regex,Javascript,Regex,这是我的绳子 var str = "Here is some &text:also , here is &another:one" var myRegExp = /\b\s(\&){1}(\w)+(\:){1}(\w)+\s?\b/g str.match(myRegExp) //[" &text:also", " &another:one"] 到目前为止一切正常,问题在于分裂 str.split(myRegExp) 期望值:[“这里有一些”,“
var str = "Here is some &text:also , here is &another:one"
var myRegExp = /\b\s(\&){1}(\w)+(\:){1}(\w)+\s?\b/g
str.match(myRegExp)
//[" &text:also", " &another:one"]
到目前为止一切正常,问题在于分裂
str.split(myRegExp)
期望值:[“这里有一些”,“,这里有”]现实[“这里有一些”、“&”、“t”、“:”、“o”、“,这里是”、“&”、“r”、“:”、“e”、“]
这可能是什么原因?我可以通过在匹配项上循环和拆分来提取所需的数组,除此之外没有其他快捷方式吗?这是因为
regex
引擎还将组
值包含到结果中。.使用(?:)
所以要拆分的正则表达式是
/\b\s(?:\&){1}(?:\w)+(?:\:){1}(?:\w)+\s?\b/g
或者根本不需要对它进行分组
/\b\s\&{1}\w+\:{1}\w+\s?\b/g
这是因为
regex
引擎还在结果中包含组
值。.使用(?:)
所以要拆分的正则表达式是
/\b\s(?:\&){1}(?:\w)+(?:\:){1}(?:\w)+\s?\b/g
或者根本不需要对它进行分组
/\b\s\&{1}\w+\:{1}\w+\s?\b/g
在正则表达式中不需要分组或
{1}
。使用:
var myRegExp = /\b\s&\w+:\w+\s?\b/g
在正则表达式中不需要分组或
{1}
。使用:
var myRegExp = /\b\s&\w+:\w+\s?\b/g
你为什么要逃逸冒号?哦,没有逃逸也行谢谢你提供的信息,我很小心你为什么要逃逸冒号?哦,没有逃逸也行谢谢你提供的信息,我很小心我刚刚发布了一个原始示例,我的实际正则表达式有分组,但是对于给定的示例,分组搞乱了拆分,感谢您的更正我刚刚发布了一个原始示例,虽然我的实际正则表达式有分组,但是对于给定的示例,分组搞乱了拆分,谢谢您的更正