gpt4 book ai didi

java - 正则表达式代替 String.contains(xyz) (Java 1.7)

转载 作者:行者123 更新时间:2023-12-01 17:21:07 26 4
gpt4 key购买 nike

我试图查找是否 someString包含一些Word,但不起作用:

String someString = "lazy cat";

someString.matches("^.*\\bazy\\b.*$");//do not matches "azy"

这里出了什么问题?

最佳答案

\b 表示单词边界,这意味着您正在搜索单词 azy1 而不是搜索 azy 作为子字符串。

只需删除 \b 即可获得预期结果。

someString.matches("^.*azy.*$");

但是,如果只想搜索子字符串,则使用正则表达式效率很低。 String.contains 是此类用例的标准替代方案:

someString.contains("azy");

脚注

单词定义为(至少 1)单词字符的序列,其中不包含任何单词位于其之前或之后的字符。

单词字符在默认设置下定义为[a-zA-Z0-9_]

关于java - 正则表达式代替 String.contains(xyz) (Java 1.7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18706652/

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