gpt4 book ai didi

java - 如何编写防止部分匹配的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-04 08:09:23 25 4
gpt4 key购买 nike

如何构建一个正则表达式模式来搜索文本 T 并尝试查找搜索字符串 S。

有 2 个要求:

  1. S 可以由任何字符组成。
  2. S 可以位于字符串中的任何位置,但不能是单词的一部分。

我知道为了转义特殊的正则表达式字符,我将搜索字符串放在\Q 和\E 之间,如下所示:

\EMySearch_String\Q

如何防止在 T 中找到 S 的部分匹配?

最佳答案

如果
你可以这样做不能成为单词的一部分
被解释为
前面是字符串开头或空格,后面是字符串结尾或空格:

String s = "3894$75\\/^()";
String text = "fdsfsd3894$75\\/^()dasdasd 22348 3894$75\\/^()";
Matcher m = Pattern.compile("(?<=^|\\s)\\Q" + s + "\\E(?=\\s|$)").matcher(text);
while (m.find()) {
System.out.println("Found match! :'" + m.group() + "'");
}

这只打印一个

Found match! :'3894$75/^()'

关于java - 如何编写防止部分匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11497926/

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