我怎样才能编写最终不包含某些字符串的正则表达式.在我的项目中,他们的名字不以某些字符串结尾的所有类如"controller"和"map"应该从基类继承.我怎么能用正则表达式做到这一点?
但同时使用两者
public*.class[a-zA-Z]*(?<!controller|map)$
public*.class*.(?<!controller)$
Run Code Online (Sandbox Code Playgroud)
没有任何匹配案例!!!
搜索与此匹配的所有文件名:
(?<!controller|map|anythingelse)$
Run Code Online (Sandbox Code Playgroud)
(|anythingelse如果没有其他关键字,请删除,或者类似地添加其他关键字.)
如果你不能使用负面的lookbehinds((?<!.. )位),请搜索与此不匹配的文件名:
(?:controller|map)$
Run Code Online (Sandbox Code Playgroud)
如果它仍然不起作用(可能不在某些IDE中),删除?:部分它可能会 - 这只是使它成为一个非捕获组,但这里的差异是相当微不足道的.
如果你正在使用完整字符串必须匹配的东西,那么你可以在上面的任何一个前面加上前缀^.*.
更新:
对此:
但是使用两者都
public*.class[a-zA-Z]*(?<!controller|map)$
public*.class*.(?<!controller)$
没有任何匹配案例!
不太确定你在那里尝试公共/类的东西,所以试试这个:
public.*class.*(?<!controller|map)$`
Run Code Online (Sandbox Code Playgroud)
这.是一个正则表达式字符,表示"除了换行符之外的任何内容",并且*表示零次或多次.
如果这不是您所追求的,请编辑问题并提供更多详细信息.