gpt4 book ai didi

java - 无法匹配我的正则表达式

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

我试图匹配一个看起来像“WIFLYMODULE-xxxx”的字符串,其中 x 可以是任何数字。例如,我希望能够找到以下内容......WIFLYMODULE-3253WIFLYMODULE-1585WIFLYMODULE-1632

我目前正在使用

final Pattern q = Pattern.compile("[WIFLYMODULE]-[0-9]{3}");

但我没有拿起我想要的字符串。所以我的问题是,为什么我的正则表达式不起作用?我是否以错误的方式处理这件事?

最佳答案

您应该使用(..)而不是[...][..] 用于 Character class

通过“字符类”(也称为“字符集”),您可以告诉正则表达式引擎仅匹配多个字符中的一个。

(WIFLYMODULE)-[0-9]{4}

这里是demo

注意:但在本例中根本不需要它。 (...) 用于捕获组,通过 Matcher.group(index)

访问它<小时/>

重要提示:使用\b作为单词边界来匹配正确的单词

\\bWIFLYMODULE-[0-9]{4}\\b

示例代码:

String str = "WIFLYMODULE-3253 WIFLYMODULE-1585 WIFLYMODULE-1632";
Pattern p = Pattern.compile("\\bWIFLYMODULE-[0-9]{4}\\b");
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group());
}

输出:

WIFLYMODULE-3253
WIFLYMODULE-1585
WIFLYMODULE-1632

关于java - 无法匹配我的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25332362/

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