使用正则expression式查找除一个string以外的所有string

我想匹配除string"ABC"之外的所有string。 例:

  "A" --> Match "F" --> Match "AABC" --> Match "ABCC" --> Match "CBA" --> Match "ABC" --> No match 

我尝试了[^ABC] ,但是忽略了"CBA" (和其他人)。

 ^(?!ABC$).* 

匹配除ABC外的所有string。

从你们的例子来看,我认为你的意思是“除ABC 以外的所有string”。

尝试这个:

 ^(?!.*\bABC\b) 

用GNU Grep反转匹配

您可以简单地使用单词边界和要拒绝的特定string进行反转。 例如:

 $ egrep --invert-match '\bABC\b' /tmp/corpus "A" --> Match "F" --> Match "AABC" --> Match "ABCC" --> Match "CBA" --> Match 

这完美地在你提供的语料库上工作。 对于其他(或更复杂的)使用情况,您的里程可能会有所不同。