我有一个正则表达式模式来匹配 HTML 脚本标记。如何更改此脚本标记模式,以便该模式意味着“输入字符串与脚本标记模式不匹配”?
换句话说,给定一个模式,需要进行哪些更改才能将模式的含义更改为“与此模式不匹配”?
例如,如果我有一个模式:\d{3}-\d{3}-\d{4}
,这意味着“不匹配”的等效模式是什么\d{3}-\d{3}-\d{4}
"?
您可以使用否定前瞻来否定正则表达式模式。但这与简单地否定正则表达式略有不同。在 Java(以及许多其他语言)中,负向先行看起来如下所示:
(?!\d{3}-\d{3}-\d{4})
应该指出的是,这并不能完全回答问题。使用正则表达式查找正则语言的逆并不是一件容易的事(我不认为)。解决问题的一个更简单的方法是反转程序逻辑:
代替:
if (string.matches(yourRegex))
Do:
if (!string.matches(yourRegex))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)