该java.util.regex.MatcheResult接口提供方法来检索匹配的结果
您可以使用Matcher类的toMatchResult()方法获取此接口的对象。此方法返回一个MatchResult对象,该对象表示当前匹配器的匹配状态。
此接口的group(int group)方法接受代表特定组的整数值,并在最后一次匹配期间返回指定组中给定输入序列中匹配子字符串的字符串值。
import java.util.Scanner; import java.util.regex.MatchResult; import java.util.regex.Matcher; import java.util.regex.Pattern; public class GroupExample { public static void main( String args[] ) { String regex = "(.*)(\\d+)(.*)"; //读取用户输入 Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); //实例化Pattern类 Pattern pattern = Pattern.compile(regex); //实例化Matcher类 Matcher matcher = pattern.matcher(input); //验证是否发生匹配 if(matcher.find()) { System.out.println("Match found"); } MatchResult res = matcher.toMatchResult(); String matchedData = res.group(2); System.out.println(matchedData); } }
输出结果
Enter input text: This is a sample Text, 123 Match found 3