Cla*_*Cla 9 javascript regex firefox regex-lookarounds
我需要修改以下javascript正则表达式,因为它中的负面lookbehind在firefox中引发错误:
content = content.replace(/(?![^<]*>)(?:[\"])([^"]*?)(?<!=)(?:[\"])(?!>)/g, '„$1“');
Run Code Online (Sandbox Code Playgroud)
有没有人有想法可以帮助我?
提前致谢!
Wik*_*żew 14
Lookbehinds仅适用于支持ECMA2018标准的浏览器,这意味着只有最新版本的Chrome才能处理它们.
要支持大多数浏览器,请将模式转换为仅使用前瞻.
该(?<!=)
负回顾后确保没有=
立即到当前位置的左侧.[^"]
是与该字符匹配的原子(请注意,?
量词使其成为可选的,但这"
是之前[^"]
不可能的,=
并且不需要限制该位置).
所以,你可以使用
content = content.replace(/(?![^<]>)"([^"=]?)"(?!>)/g, '„$1"');
^^^^^
Run Code Online (Sandbox Code Playgroud)
注意(?:[\"])
等于"
.[^"=]?
匹配除了"
和之外的1或0次出现的char =
.
请参阅正则表达式演示.
归档时间: |
|
查看次数: |
6331 次 |
最近记录: |