我正在使用下面的正则表达式来匹配字符串;我期待以下结果正则表达式 ^.*(?<!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.*$
添加回答
举报
0/150
提交
取消