Rox*_*cus 1 javascript regex rubular
注意到Rubular.com和Javascript正则表达式之间的区别:
'catdogdogcatdog'.match(/cat(dog)/g); // JS returns ['catdog', 'catdog']
Run Code Online (Sandbox Code Playgroud)
我期望两次捕获'狗',但我得到'catdog'两次.
Rubular按预期捕获"狗"两次:http://rubular.com/r/o7NkBnNs63
这到底发生了什么?
不,Rubular也匹配catdog两次.它还会 显示捕获组的内容,该组捕获dog两次.

你想要这样的东西:
var myregexp = /cat(dog)/g;
var match = myregexp.exec(subject);
while (match != null) {
dog = match[1]
// do something, Gromit!
match = myregexp.exec(subject);
}
Run Code Online (Sandbox Code Playgroud)