java.util.regex.Matcher类表示执行各种匹配操作的引擎。该类没有构造函数,可以使用matches()
java.util.regex.Pattern类的方法创建/获取该类的对象。
Matcher类的end()方法返回由当前对象表示的最后一个匹配之后的偏移量。
子表达式“ [...]”匹配输入字符串中花括号内指定的字符,在下面的示例中,使用该表达式来匹配字符t。这里,
我们已经使用该compile()
方法编译了正则表达式。
获取Matcher对象。
matcher()
在每个匹配项上调用该方法。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class EndExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[t]"; //创建一个模式对象 Pattern pattern = Pattern.compile(regex); //匹配字符串中的已编译模式 Matcher matcher = pattern.matcher(input); int count =0; while (matcher.find()) { int end = matcher.end(); System.out.println(end); } } }
输出结果
Enter input text: Hello how are you welcome to Nhooo 27 32 43
由于字符t在输入字符串中出现三次,因此您可以观察到三个偏移值(代表每次出现后输入字符串中的位置)。