gpt4 book ai didi

Java 正则表达式 : Pattern and Matcher

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

尽管在线资源计算出正则表达式与扫描仪“scnr”中的字符串匹配,但以下代码块会产生“未找到匹配项”错误。如果任何人都可以通过最少的更改提供简短的代码修复,那就太好了。

String p = "([0-9]*),([0-9]*),(r|b)";

System.out.println("regex: " + p);
Pattern pattern = Pattern.compile(p);
Matcher matcher;

String testString = scnr.next();
System.out.println("test string: " + testString);
matcher = pattern.matcher(testString);

matcher.matches();

System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));



Output:

regex: ([0-9]*),([0-9]*),(r|b)
test string: (1,65,b)
Exception in thread "main" java.lang.IllegalStateException: No match found

最佳答案

您试图将字符串与整个模式进行匹配,但由于您有多个组,所以它不起作用。

Pattern pattern = Pattern.compile("([0-9]*),([0-9]*),([rb])");
String testString = scnr.next();
System.out.println("test string: " + testString);
Matcher matcher = pattern.matcher(testString);

while (matcher.find()) {
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
}

关于Java 正则表达式 : Pattern and Matcher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61376251/

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