我想匹配除 string 之外的所有字符串"ABC"
。例子:
"A" --> Match
"F" --> Match
"AABC" --> Match
"ABCC" --> Match
"CBA" --> Match
"ABC" --> No match
我试过了[^ABC]
,但它忽略了"CBA"
(和其他人)。
我想匹配除 string 之外的所有字符串"ABC"
。例子:
"A" --> Match
"F" --> Match
"AABC" --> Match
"ABCC" --> Match
"CBA" --> Match
"ABC" --> No match
我试过了[^ABC]
,但它忽略了"CBA"
(和其他人)。
^(?!ABC$).*
匹配除 . 之外的所有字符串ABC
。
从你的例子来看,我认为你的意思是“所有字符串,除了那些包含单词ABC 的字符串”。
试试这个:
^(?!.*\bABC\b)
您可以简单地使用单词边界和要拒绝的特定字符串来反转匹配。例如:
$ egrep --invert-match '\bABC\b' /tmp/corpus
"A" --> Match
"F" --> Match
"AABC" --> Match
"ABCC" --> Match
"CBA" --> Match
这在您提供的语料库上非常有效。您的里程可能会因其他(或更复杂的)用例而异。