首页 > 各位大侠,请教一下:Javascript不支持负向后瞻(?<!),用什么方法可以实现后瞻的效果呢?

各位大侠,请教一下:Javascript不支持负向后瞻(?<!),用什么方法可以实现后瞻的效果呢?

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

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


前瞻后瞻一般都能转换成分组反向引用

"ABB".replace(/([^A])B/, "$1C") 分组1匹配到B前非A的字符,替换的时候用反向引用$1保留这个字符


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