我正在将我编写的python脚本转换为javascript。我的python脚本有以下正则表达式来匹配“\”的单个实例:
re.sub(r'(?<!\\)(\\{1})(?!\\)', r'\\', word)
尝试在js中运行时遇到编译器错误:
^{pr2}$经过一番搜索发现,js中的regex不支持look behind。在
我看了this answer,他们用了:
^(?!filename).+\.js
以从字符串开头开始的消极展望的形式,这对我没有帮助,因为我需要将字符串中的任何地方的'\'
更改为{
我需要匹配前面或后面都没有“\”的字符。在
只需在没有断言的情况下进行匹配
(^|[^\\])\\([^\\]|$)
然后将它们替换回原处。请注意,这不会告诉您它是否正在逃逸。
正则表达式更为复杂。在
您总是可以使用捕获组而不是lookbehind
将返回与
(?<!\\)(\\{1})(?!\\)
相同的内容相关问题 更多 >
编程相关推荐