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