举个例子: 需要检索到文章的关键字后做修改,关键字为:“B”,“AB”,检索B的时候要排除它前一位是A的情况,正则表达式应该是(?<!A)B但是JS不支持(?<!),也没查到可以代替的的方法,不知道哪位大侠有办法的,能否指点本菜鸟一二?
2 回答

慕尼黑5688855
TA贡献1848条经验 获得超2个赞
((?!A).|^)(B) ((?!XYZ).{3}|^)(B)
var r = /((?!A).|^)(B)/;// 如果只是想替换 B,就用 $1 保留前面不小心匹配到的内容'XB'.replace(r, "$113");// X13

慕婉清6462132
TA贡献1804条经验 获得超2个赞
前瞻后瞻一般都能转换成分组加反向引用。
"ABB".replace(/([^A])B/, "$1C") 分组1匹配到B前非A的字符,替换的时候用反向引用$1保留这个字符
添加回答
举报
0/150
提交
取消