6

我在使用以下正则表达式时遇到问题。它在 regexr 和 rubular 中运行良好,但在 node.js 上运行时它给了我一个错误。我对使用正则表达式相当陌生,我不确定我做错了什么。如果我关闭它会起作用,(?<= )所以我认为这是问题所在。

我正在尝试将'is'与前导和尾随空格匹配/(?<= )is(?= )|==/g

测试词示例:
http ://regexr.com?33781

节点错误输出

 temp = temp.replace(/(?<= )is(?= )|==/g, '===');
^
SyntaxError: Invalid regular expression: /(?<= )is(?= )|==/: Invalid group
at new RegExp (unknown source)
4

2 回答 2

2

很简单,这是因为 JavaScript 正则表达式不支持lookbehinds:

http://www.regular-expressions.info/javascript.html

根本不支持 Lookbehind。完全支持前瞻。

于 2012-12-21T16:34:43.970 回答