如何使用Regex获取第一个匹配字符串

时间:2014-02-09 14:26:51

标签: java regex pattern-matching

我有以下代码:

public class RegexTestPatternMatcher {
  public static final String EXAMPLE_TEST = "This is my first photo.jpg string and this my second photo2.jpg String";

  public static void main(String[] args) {
    Pattern pattern = Pattern.compile("\\w+\\.jpg");
    Matcher matcher = pattern.matcher(EXAMPLE_TEST);
    // check all occurance
    while (matcher.find()) {
      System.out.println(matcher.group());
    }
  }
} 

输出是:

photo.jpg
photo2.jpg

我想选择第一场比赛,只有 photo.jpg ,并跳过第二张照片。我尝试了 matcher.group(0),但没有工作,不知道怎么做,谢谢。

1 个答案:

答案 0 :(得分:4)

第一场比赛后停止迭代。将while更改为if

if (matcher.find()) {
  System.out.println(matcher.group());
}