猿问

Javascript不支持负向后瞻(?<!),用什么方法可以实现后瞻的效果呢?

举个例子: 需要检索到文章的关键字后做修改,关键字为:“B”,“AB”,检索B的时候要排除它前一位是A的情况,正则表达式应该是(?<!A)B

但是JS不支持(?<!),也没查到可以代替的的方法,不知道哪位大侠有办法的,能否指点本菜鸟一二?


跃然一笑
浏览 108回答 2
2回答

慕尼黑5688855

((?!A).|^)(B) ((?!XYZ).{3}|^)(B)var&nbsp;r&nbsp;=&nbsp;/((?!A).|^)(B)/;//&nbsp;如果只是想替换&nbsp;B,就用&nbsp;$1&nbsp;保留前面不小心匹配到的内容'XB'.replace(r,&nbsp;"$113");//&nbsp;X13

慕婉清6462132

前瞻后瞻一般都能转换成分组加反向引用。"ABB".replace(/([^A])B/, "$1C") 分组1匹配到B前非A的字符,替换的时候用反向引用$1保留这个字符
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答