正则表达式Javascript捕获字符串

时间:2015-06-19 10:32:42

标签: javascript regex

我正在使用此正则表达式^(?:foo|bar)+|(.+)$来捕捉与“foo”#39;不同的字符串或者' bar'但它只在foo或bar之后捕获字符串而不是在开始时。例如,它会在字符串ba中捕获foobarfooba,但不会在字符串ba中捕获bafoobarfoo

Demo

1 个答案:

答案 0 :(得分:1)

因为您使用了线锚的开头。删除行锚的开头也不适合您。所以我建议你使用下面的正则表达式。

var s = "bafoobar";
var re = /foo|bar|((?:(?!foo|bar).)+)/gm;
alert(re.exec(s)[1])

DEMO