使用以下正则表达式时遇到问题。它在regexr和rubular中工作正常,但在node.js上运行它时会出错。我使用正则表达式相当新,我不确定我做错了什么。如果我敲掉(?<= )
,我会认为这就是问题。
我正在尝试使用/(?<= )is(?= )|==/g
测试词的示例:
http://regexr.com?33781
节点错误输出
temp = temp.replace(/(?<= )is(?= )|==/g, '===');
^
SyntaxError: Invalid regular expression: /(?<= )is(?= )|==/: Invalid group
at new RegExp (unknown source)
答案 0 :(得分:15)
JavaScript正则表达式根本不支持lookbehind。
来源:
答案 1 :(得分:2)
很简单,这是因为JavaScript正则表达式不支持lookbehinds:
http://www.regular-expressions.info/javascript.html
根本不支持Lookbehind。 Lookahead完全支持。