我正在使用此正则表达式 ^(?:foo|bar)+|(.+)$
来捕获不同于“foo”或“bar”的字符串,但它仅在 foo 或酒吧而不是一开始。例如,它在字符串 foobarfooba
中捕获 ba
但在字符串 bafoobarfoo
中不捕获 ba
。
最佳答案
因为您使用了线 anchor 的开头。删除线 anchor 的开头也不适合您。所以我建议你使用下面的正则表达式。
var s = "bafoobar";
var re = /foo|bar|((?:(?!foo|bar).)+)/gm;
alert(re.exec(s)[1])
关于javascript - 正则表达式 Javascript 捕获字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30935961/