egl*_*ter 2 regex checkstyle regex-negation
我试图在模式中定义一个带有否定的正则表达式模式.我想在最后用'Test'排除所有字符串.我知道字符否定[^Test]但这不是我正在寻找的,[^Test]等于[^estT].它应该传递字符串,UserService而不是UserServiceTest.所以我所做的是将其排除在外{min,max}.但它不起作用:(.
^([a-zA-Z0-9]+(Test){0,0})$
Run Code Online (Sandbox Code Playgroud)
我的主要想法是将此模式放入checkstyle抑制配置中,并从checkstyle检查中排除所有Test类.
<module name="TreeWalker">
<property name="tabWidth" value="4"/>
<module name="TypeName">
<property name="format" value="([a-zA-Z0-9]+(Test){0,0})"/>
</module>
</module>
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
干杯,
凯文
你需要使用负面的lookbehind断言.
^([a-zA-Z0-9]+(?<!Test))$
Run Code Online (Sandbox Code Playgroud)
请注意,并非所有正则表达式引擎都支持lookbehind.