regex 在不应该匹配时进行负面检查[复制]

lstz6jyr  于 2023-01-03  发布在  其他
关注(0)|答案(1)|浏览(112)

此问题在此处已有答案

Find 'word' not followed by a certain character(1个答案)
8小时前关门了。
我正试图更好地理解regex,沿着在this tester中的浏览。
我有下面的正则表达式:

class.*(?!(XC))

和以下测试:

class LocalCardsTests: XCTestCase { // should not match
class LocalTest2 { // Should match

然而,两行都匹配时,只有一个应该。我错过了什么?

whhtz7ly

whhtz7ly1#

问题是.*应该在前瞻中:

class(?!.*XC)

您的正则表达式class.*(?!(XC))(顺便说一句,它有不必要的括号)匹配“class”和所有剩余的字符,因为(?!XC)在输入结束时总是true。

相关问题