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

向后看期间的正则表达式匹配

向后看期间的正则表达式匹配

噜噜哒 2022-01-19 15:52:17
我正在使用下面的正则表达式来匹配字符串;我期待以下结果正则表达式 ^.*(?<!abc)(?<!def)(?<!ghi).xyz.co.*不匹配    ghi.xyz.org    ghi-hipqr.xyz.org    abc-hipqr.xyz.org比赛qrs.xyz.orgqrs-hipqr.xyz.org但是,ghi-hipqr.xyz.org匹配正则表达式(它不应该匹配,因为字符串中存在字符串 ghi。我该如何修复它?
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

它失败了,因为ghi不在.xyz.您的字符串之前。Java(像许多正则表达式引擎一样)不支持可变长度负长度后视断言。

您可以改用这个否定的前瞻表达式:

^(?!.*\b(?:abc|def|ghi)\b).*\.xyz\.org.*$


查看完整回答
反对 回复 2022-01-19
  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

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