Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式拆分_Javascript_Regex - Fatal编程技术网

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

你为什么要逃逸冒号?哦,没有逃逸也行谢谢你提供的信息,我很小心你为什么要逃逸冒号?哦,没有逃逸也行谢谢你提供的信息,我很小心我刚刚发布了一个原始示例,我的实际正则表达式有分组,但是对于给定的示例,分组搞乱了拆分,感谢您的更正我刚刚发布了一个原始示例,虽然我的实际正则表达式有分组,但是对于给定的示例,分组搞乱了拆分,谢谢您的更正