如何在Java正则表达式的同一行中捕获多个匹配项
示例
import java.util.regex.*; class PatternMatcher { public static void main(String args[]) { int count = 0; // String to be scanned to find the pattern. String content = "aaa bb aaa"; String string = "aaa"; // Create a Pattern object Pattern p = Pattern.compile(string); // get a matcher object Matcher m = p.matcher(content); while(m.find()) { count++; System.out.println("Match no:"+count); System.out.println("Found at: "+ m.start()+ " - " + m.end()); } } }
输出结果
Match no:1 Found at: 0 - 3 Match no:2 Found at: 7 - 10
注意
start()–此方法用于获取使用find()方法找到的匹配项的起始索引。
end()–此方法用于获取使用find()方法找到的匹配项的结束索引。它返回最后一个匹配字符旁边的字符索引。