正则表达式为!(A | B),例如不是(a或b)

时间:2014-03-05 01:07:38

标签: regex

我正在使用Vb.net,并且有三条线,只需要选择第三条,第一条和第二条。我试过了!(必须|估计)但它没有用。

My reg expression is !(REQUIRED|ESTIMATED) also tried but did
not work ^(REQUIRED|ESTIMATED)

09359109359REQUIRED 00000000103332014022841000099999999900000000063140000000018570
09359109359ESTIMATED00000000130452014030453000000001435000000000038560000000018570
09359109359999999999000000000058671

1 个答案:

答案 0 :(得分:5)

正则表达式实际上没有像您尝试使用它的非运算符。如果要匹配不包含某个单词/单词的字符串,则可能不应使用正则表达式。

如果你真的想要,无论出于何种原因,这就是你如何解决你的问题。您必须使用负前瞻来检查A或B.如果找不到A和B,则匹配整个字符串。这看起来像这样:

^(?!.*(REQUIRED|ESTIMATE)).*

^符号匹配行的开头。 (?!.*(REQUIRED|ESTIMATE))向前看,看看前面是否有任何REQUIRED或ESTIMATE,如果是,则匹配失败。 。*匹配字符串的其余部分,如果它没有失败。