所以我在模式和匹配器中使用组,当在模式编译器中处理多个正则表达式时,有一个我不理解的特定组调用。
这是它。
Pattern p=Pattern.compile("((\\S+)(\\s+))");
Matcher m=p.matcher("Hello people yeah");
while (m.find()){
String line=m.group(2);
System.out.println("First match is "+line);
}
如您所见,我必须在编译器中进行正则表达式,第一个查找非空格,第二个查找空格。
现在据我所知,第 0 组是整个表达式,第 1 组是 ((\S+)(\s+)) 第 2 组是/应该是这个 (\S+),第 3 组是 (\s+)
但是,当我打电话给第 2 组时,我得到了 Hello people
但不是,这很奇怪,因为如果编译器只有 ("\S+") 我会得到你好人是的
所以是的,我真的不明白为什么当我打电话给第 2 组时没有返回是的。