如何在 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() 方法寻找到的匹配项的结束索引。它返回最后一个匹配字符旁边的字符索引。

更新于: 2020 年 6 月 20 日

3K+ 次浏览

开启您的 职业

完成本课程,获得认证

开始
广告
© . All rights reserved.