Java正则表达式主要通过Matcher类进行匹配操作。例如,要从车牌号中提取最后一个数字,比如“苏A7865”提取5,或者“苏A876X”提取6。可以使用以下代码:import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String[] args) { String s = "A876X"; // 正则表达式匹配最后一个数字,规则是“一个数字加上大于等于0个非数字再加上结束符” Pattern pattern = Pattern.compile("(\\d)[^\\d]*$"); Matcher matcher = pattern.matcher(s); if (matcher.find()) { System.out.println(matcher.group(1)); } }}Matcher类中的几个重要方法包括:start()方法返回匹配到的子字符串在字符串中的起始索引位置。end()方法返回匹配到的子字符串的最后一个字符在字符串中的索引位置。group()方法返回匹配到的子字符串。下面是一个具体的示例代码:Pattern p = Pattern.compile("\\d+");Matcher m = p.matcher("aaa2223bb");m.find();System.out.println(m.start());System.out.println(m.end());System.out.println(m.group());这里,matches()方法用于匹配整个字符串;lookingAt()方法只能匹配字符串的开头部分;find()方法用于查找任何匹配项。Matcher类中还有start(),end(),group()方法的重载形式,用于分组操作。例如:Pattern p = Pattern.compile("([a-z]+)(\\d+)");Matcher m = p.matcher("aaa2223bb");m.find();System.out.println(m.groupCount());System.out.println(m.start(1));System.out.println(m.start(2));System.out.println(m.end(1));System.out.println(m.end(2));System.out.println(m.group(1));System.out.println(m.group(2));只有在匹配操作成功后,才能使用start(),end(),group()三个方法,否则会抛出java.lang.IllegalStateException异常。