Regex AND'ing

时间:2009-07-01 16:01:39

标签: regex

我需要两个字符串,我希望匹配不等于它们的所有字符串,第一个字符串后面可以跟多个字符。我试过这样的事情,否定了两个人,否定了这个结果。

?!(?!^.*[^Factory]$|?![^AppName])

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

试试这个正则表达式:

(?!.*Factory$|.*AppName)^.*

这会匹配不以Factory结尾且不包含AppName的每个字符串。

答案 1 :(得分:3)

怎么样

if (!match("(Factory|AppName)")) {
    // your code
}

答案 2 :(得分:3)

dfa的回答是目前最好的选择。但如果您出于某种原因无法使用它,请尝试:

^(?!.*Factory|AppName)

很难从你的问题和正则表达式中确定你想要做什么;他们似乎暗示相反的行为。如果Factory出现在字符串中的任何位置,或者AppName出现在它的开头,那么我写的正则表达式将不匹配。

答案 3 :(得分:0)

如果您查找这两个字符串的存在然后否定正则表达式,它会起作用吗?