2014-02-09 89 views
3

拿到第一個匹配的字符串我有如下因素代碼:如何使用正則表達式

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),但沒有工作,任何想法該怎麼做,謝謝。

+0

只需卸下循環,並呼籲'matcher.find()'和'matcher.group()'一次? – Jerry

回答

4

第一次匹配後停止迭代。變化whileif

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

謝謝它工作正常 – sade