JavaScript:与 PHP 等效的正则表达式

标签 javascript php regex

我有一个正则表达式来查找 php 字符串中给定单词“on”的下一个单词:

(?<=\bon\s)(\w+)

它适用于 PHP,但对于 js,它会出现以下错误:

Uncaught SyntaxError: Invalid regular expression: /(?<=\bon\s)(\w+)/: Invalid group

JavaScript 的等效正则表达式是什么?

最佳答案

(?<=\bon\s)positive lookbehind 。 PHP 的正则表达式引擎 (PCRE) 支持这些,但 JavaScript 的正则表达式引擎不支持。

虽然不可能编写完全相同的正则表达式,但您仍然可以使用以下正则表达式来实现此目的:

\bon\s(\w+)

与原始正则表达式不同,\bon\s消耗字符。但您仍然可以使用捕获组 (\w+) 提取结果.

用法:

var str = 'foo on bar';
var matches = str.match(/\bon\s(\w+)/);
var result = matches[1] // bar

Fiddle

关于JavaScript:与 PHP 等效的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22299401/

相关文章:

javascript - 由于 Css Transition,点击未完成

python - BeautifulSoup 中的 re.compile 有什么用?

php - 仅返回空格前的数字

javascript - 跨浏览器 Javascript 正则表达式

javascript - 我如何对不同数量的输入字段进行 JavaScript 数学运算?

javascript - 如何在同一页面上运行两个相同的联合脚本?

javascript - 如何将状态从一个类使用到另一个类

php - 在 PHP 中向 DateTime 添加天数——无需修改原始日期

php - 我如何将背景颜色与 PHP 匹配以匹配文本颜色?

php - 使用存储在 mysql 文本中的变量