我有一个正则表达式来查找 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
关于JavaScript:与 PHP 等效的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22299401/