![]() |
1
2
我已经更新了新输入的答案
旧答案内容的备份(出于历史原因)它至少在Chrome中与此regex一起工作:
见: https://regex101.com/r/elTkRe/4 但是你不能在PCRE中使用它,因为在lookbehinds中不允许有量词。它们必须具有固定宽度。请参见此处右侧的错误: https://regex101.com/r/ZC3XmX/2 解决办法不看后面看前面
|
![]() |
2
1
您需要做的是将lookbehind转换为捕获组,以便将它们包含在替换字符串中(请注意,不区分大小写的标志(
替换为
|
![]() |
3
0
只需更新node.js版本。Lookback断言是ECMAScript 2018的一部分,已经在chromium和node.js中实现。根据 http://kangax.github.io/compat-table/es2016plus/ ,chromium 70和node.js 8.10具有此功能。 我刚在浏览器和node.js(V8.11)中测试过它,可以确认:
如果无法更新,则必须使用其他策略,如捕获和替换,这不应是一个大问题,而是采用积极的后视(消极的情况更难做到):
如果没有其他方法起作用,请看一看这个试图实现lookback的项目(我还没有测试它): http://blog.stevenlevithan.com/archives/javascript-regex-lookbehind |
![]() |
Ivan Anatolievich · 在结果中包含正向前瞻中的角色 7 年前 |
![]() |
subash · Regex-数字的单字符前缀 7 年前 |
![]() |
TZW · 正则表达式:(=.*gh)和(?=\w*gh)之间的差 7 年前 |
|
Chris Marks · 正则表达式和负展望 7 年前 |
![]() |
kez Sirwan Afifi · 正则表达式检查前缀的9个长度字符 7 年前 |