[英]Java regex allowing all character expect `
我创建了正则表达式模式以允许count(*)
但不允许`count(*)`
[^`]*[Cc][Oo][Uu][Nn][Tt][(](\*)[)][^`]*
它可以单独解决,但是如果我将它们一起传递
count(*),`count(*)`
我应该得到这场比赛,但恰恰相反
请注意, [^`]*
匹配零个或多个反引号,因此它不会阻止匹配反引号之间的Count(*)
字符串。
您可以使用
(?i)(?<!`)Count\(\*\)(?!`)
或者,如果您需要将其作为一个完整的单词进行匹配,请在单词之前的开头添加\b
:
(?i)(?<!`)\bCount\(\*\)(?!`)
查看正则表达式演示
细节
(?i)
- 不区分大小写的修饰符(?<!`)
- 当前位置左侧不允许有`
。\b
- 单词边界Count\(\*\)
- Count(*)
substring(?!`)
- 当前位置右侧不允许有`
。在 Java 中,
String regex = "(?i)(?<!`)Count\\(\\*\\)(?!`)";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.