gpt4 book ai didi

java - 正则表达式 30 个数字 + 空格 + 连字符 + 空格 1 个数字

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

我有这个代码来查找这个模式:201409250200131738007947036000 - 1,在文本内

              final String patternStr = "(\\d{30} - \\d{1})";
final Pattern p = Pattern.compile(patternStr);


final Matcher m = p.matcher(page);
if (m.matches()) {
System.out.println("SUCCESS");
}

但是由于 Java 中的任何奇怪原因不起作用,有人可以帮我看看错误在哪里吗?

最佳答案

原因是 matches 方法检查整个给定字符串是否与正则表达式匹配。

也就是说,如果您的字符串是123456123412345612341234561234 - 8,它将匹配,如果它是我的号码123456123412345612341234561234 - 8在其他文本内,则不会匹配。

使用 find 方法来完成您的任务:

if (m.find()) {
System.out.println("SUCCESS");
}

它将在给定的字符串内部进行搜索,而不是尝试匹配整个字符串。

关于java - 正则表达式 30 个数字 + 空格 + 连字符 + 空格 1 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26116898/

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