Java 对捕捉群体的话题感到困惑吗?
我想知道Pattern和Matcher对象是如何工作的Java 对捕捉群体的话题感到困惑吗?,java,regex,Java,Regex,我想知道Pattern和Matcher对象是如何工作的 我参考了几个例子,但我想不出来。你们的小组从index=1开始。零是整个匹配的索引 因此,第一个(.*)在m.group(1)中, (\\\d+)属于m组(2), 第二个(.*)在m.group(3)包含了几乎所有你需要知道的关于正则表达式的所有内容模式做了什么,匹配器做了什么..查找和组如何工作。组从1开始编号,m.group()==m.group(0)是所有组的全部匹配.find()用于(重复)搜索,.matches()用于整个字符串的
我参考了几个例子,但我想不出来。你们的小组从index=1开始。零是整个匹配的索引 因此,第一个
(.*)
在m.group(1)
中,
(\\\d+)
属于m组(2)
,
第二个
(.*)
在m.group(3)
包含了几乎所有你需要知道的关于正则表达式的所有内容模式做了什么,匹配器做了什么..查找和组如何工作。组从1开始编号,m.group()==m.group(0)
是所有组的全部匹配.find()
用于(重复)搜索,.matches()
用于整个字符串的单个匹配。组(\\d+)做什么..它将查找哪个模式..可能的重复,以及:一个数字的一个或多个(后缀+
)\d
。看见
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexMatches
{
public static void main( String args[] ){
// String to be scanned to find the pattern.
String line = "This order was places for QT3000! OK?";
String pattern = "(.*)(\\d+)(.*)";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find( )) {
System.out.println("Found value: " + m.group(0) );
System.out.println("Found value: " + m.group(1) );
System.out.println("Found value: " + m.group(2) );
} else {
System.out.println("NO MATCH");
}
}
}