gpt4 book ai didi

Java 正则表达式允许除 ` 之外的所有字符

转载 作者:行者123 更新时间:2023-12-02 08:43:08 25 4
gpt4 key购买 nike

我创建了正则表达式模式以允许 count(*) 但不允许 `count(*)`

[^`]*[Cc][Oo][Uu][Nn][Tt][(](\*)[)][^`]*

它单独工作,但如果我把它们一起传递

count(*),`count(*)`

我应该得到这场比赛,但结果相反

最佳答案

请注意[^`]*匹配或多个反引号,因此不会阻止匹配 Count(*)反引号之间的字符串。

您可以使用

(?i)(?<!`)Count\(\*\)(?!`)

或者,如果您需要将其作为整个单词进行匹配,请添加 \b在单词之前的开头:

(?i)(?<!`)\bCount\(\*\)(?!`)

请参阅regex demo

详细信息

  • (?i) - 不区分大小写的修饰符
  • (?<!`) - 否`允许紧邻当前位置的左侧。
  • \b - 单词边界
  • Count\(\*\) -Count(*)子串
  • (?!`) - 否`允许立即位于当前位置的右侧。

在 Java 中,

String regex = "(?i)(?<!`)Count\\(\\*\\)(?!`)";

关于Java 正则表达式允许除 ` 之外的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61251060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com