我认为自己擅长理解正则表达式;第一次,我很困惑,在谷歌搜索/寻找答案的最后20分钟没有产生任何结果。
考虑以下字符串:
var string = "Friends of mine are from France and they love to frolic."
我想替换或捕获每次出现的“ fr”(不区分大小写)(或进行某些操作)。
我可以简单地使用:
var replaced = string.replace(/fr/gi);
但是,如果我想忽略第一次出现的“ fr”怎么办?通常,我会使用正向后视(例如,(?<=.)fr
在php中)执行此操作,但我们的朋友javascript不会执行此操作。如果不安装第三方库,是否有任何方法可以确保我的表达式在行首不匹配?
更新:虽然可以用捕获的内容进行替换,但是$1
我的特定用例在split()
这里,如果我使用类似@Explosion Pills的建议,则需要在事后修复数组。string.replace(/^(fr)|fr/gi, "$1");
string.split(/(?!^)fr/gi);
这让你 ["Friends of mine are ", "om ", "ance and they love to ", "olic."]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句