javascript - 正则表达式 Javascript 捕获字符串

标签 javascript regex

我正在使用此正则表达式 ^(?:foo|bar)+|(.+)$ 来捕获不同于“foo”或“bar”的字符串,但它仅在 foo 或酒吧而不是一开始。例如,它在字符串 foobarfooba 中捕获 ba 但在字符串 bafoobarfoo 中不捕获 ba

Demo

最佳答案

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

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

DEMO

关于javascript - 正则表达式 Javascript 捕获字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30935961/

相关文章:

python - 查找路径的根

python - python 中用于电子邮件解析的正则表达式

javascript - Laravel 5.1 在 View 中管理 Ajax 脚本

javascript - 如何在 Angular 中复制组件?

javascript - 无法使用 JavaScript 切换表单

regex - 使用 jQuery 和正则表达式验证电子邮件地址

javascript - 为什么这个 JavaScript 数组返回未定义?

javascript - 使用 cytoscape.js 循环节点

javascript - 2 个字符串替换 javascript

regex - 使用 Glob 语法忽略 Mercurial 中的文件