使用前瞻和后面的正则表达式时出错

时间:2012-12-21 16:32:25

标签: javascript regex node.js

使用以下正则表达式时遇到问题。它在regexr和rubular中工作正常,但在node.js上运行它时会出错。我使用正则表达式相当新,我不确定我做错了什么。如果我敲掉(?<= ),我会认为这就是问题。

我正在尝试使用/(?<= )is(?= )|==/g

将'is'与前导和尾随空格匹配

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

节点错误输出

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

2 个答案:

答案 0 :(得分:15)

答案 1 :(得分:2)

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

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

根本不支持Lookbehind。 Lookahead完全支持。