【发布时间】:2010-10-25 10:53:54
【问题描述】:
是否可以编写一个正则表达式来返回所需结果的反函数?正则表达式通常具有包容性 - 查找匹配项。我希望能够将正则表达式转换为相反的 - 断言没有匹配项。这可能吗?如果有,怎么做?
http://zijab.blogspot.com/2008/09/finding-opposite-of-regular-expression.html 声明你应该用
括起你的正则表达式/^((?!^ MYREGEX ).)*$/
,但这似乎不起作用。如果我有正则表达式
/[a|b]./
,字符串“abc”使用我的正则表达式和 zijab 建议的相反返回 false,
/^((?!^[a|b].).)*$/
。是否可以写一个正则表达式的逆,还是我想错了?
【问题讨论】:
-
您使用的是哪个正则表达式包(您使用的是哪种语言)?如果您的正则表达式包不支持相当现代的 PCRE(与 Perl 兼容的正则表达式)包,则可能只是误解了 Zijab 的示例(零宽度负前瞻)。
标签: regex