我有一个java代码来检查输入字符串是否与正则表达式匹配。
String regexpr="(?<day>\d{1,2})\/(?<month>\d{1,2})\/(?<year>\d{4})";
String test="04/07/2016";
p = Pattern.compile (regexpr);
Matcher m = p.matcher (test);
while(m.find ())
{
System.out.println("Matched String"+ m.group());
System.out.println("Group1:"+ m.start(1) + "-" + m.end(1) + "\t " + group(1));
System.out.println("Group2:"+ m.start(2) + "-" + m.end(2) + "\t " + group(2));
System.out.println("Group3:"+ m.start(3) + "-" + m.end(3) + "\t " + group(3));
}
它将输出显示为
Matched String 04/07/2016
Group:1 0-2 04
Group:2 3-5 07
Group:3 6-10 2016
除此之外,我还要打印匹配的组名,即
Group1: day 0-2 04
Group2: month 3-5 07
Group3: year 6-10 2016
在java中的regex中有没有任何方法可以做到这一点?