gpt4 book ai didi

java - 正则表达式完全匹配字符串

转载 作者:行者123 更新时间:2023-11-30 02:29:56 26 4
gpt4 key购买 nike

我使用正则表达式分割了以下字符串,并在数组中获取 id,id,roduct_clinical_studies__rimr,product__rim,product__v 。这适用于大多数情况。但对于下面的字符串,因为临床包含 IN 它失败了。我怎样才能精确匹配 IN/SELECT 等

 id IN (SELECT id FROM  product_clinical_studies__rimr  WHERE product__rim CONTAINS {{this.product__v}})


String[] parseString(String filterInString) {
return filterInString.replaceAll("(?i)CONTAINS|IN|SELECT|FROM|WHERE|(this\\.)|[(){}=,]|(\\s{2,})", " ").
replaceAll("\\s+", " ").split("\\s");
}

最佳答案

您可以删除 (?i) 或在周围添加单词边界
文字

(?i)\b(?:CONTAINS|IN|SELECT|FROM|WHERE)\b|(this\.)|[(){}=,]|‌​(\s{2 ,})

如果您需要匹配keyword/keyword/../..运行,这可能有效
还有

(?i)\b(?:CONTAINS|IN|SELECT|FROM|WHERE)(?:/(?:CONTAINS|IN|SE‌​LECT|FROM|WHERE))*\b‌​| (这个\.)|[(){}=,]|(‌​\s{2,})

展开

    (?i)
\b
(?:
CONTAINS
| IN
| SELECT
| FROM
| WHERE
)
(?:
/
(?:
CONTAINS
| IN
| SELECT
| FROM
| WHERE
)
)*
\b
| ( this\. ) # (1)
| [(){}=,]
| ( \s{2,} ) # (2)

关于java - 正则表达式完全匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44556812/

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