繁体   English   中英

Java 正则表达式允许所有字符期望`

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM