为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

跃然一笑 2023-05-02 13:09:48
举个例子: 需要检索到文章的关键字后做修改,关键字为:“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


查看完整回答
反对 回复 2023-05-04
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

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

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


查看完整回答
反对 回复 2023-05-04
  • 2 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信