我有一个像这样的字符串
"abc:def"
我需要检查它是否匹配。如果是,则希望应用正则表达式并检索其第一部分("abc"
)。
这是我的尝试:
Pattern pattern = Pattern.compile(".*:.*");
String name = "abc:def"
Matcher matcher = pattern.matcher(name);
if (matcher.find()) {
String group = matcher.group(1);
System.out.println(group);
}
我遇到了问题
线程 "main" 中发生异常:java.lang.IndexOutOfBoundsException:没有第 1 组
.*:.*
这个正则表达式,它只会匹配一组,因为其只能在文本中出现一次。尝试使用group(0)
看看效果。 - SomeJavaGuy