我有以下代码:
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,并跳过第二个 photo2.jpg,我试过 matcher.group(0),但没有工作,知道如何做到这一点,谢谢。
最佳答案
在第一次匹配后停止迭代。将 while
更改为 if
if (matcher.find()) {
System.out.println(matcher.group());
}
关于java - 如何使用正则表达式获取第一个匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21660260/