如何返回与Java中的正则表达式匹配的字符串

时间:2014-08-13 02:51:02

标签: java regex

这是一个为每个匹配返回true / false的方法。相反,如果匹配,我想获得匹配的字符串。如果不匹配则不要返​​回。 我可以有一个If条件来检查它的真或假。但我的具体问题是,如果匹配,如何返回字符串?

private static boolean IsMatch(String s, String pattern) {
        try {
            Pattern patt = Pattern.compile(pattern);
            Matcher matcher = patt.matcher(s);
            return matcher.matches();
        } catch (RuntimeException e) {
        return false;
    }       
}

1 个答案:

答案 0 :(得分:2)

  

如何获取匹配的字符串?

将方法返回更改为String并返回所需的匹配组(如果找到)。

Pattern patt = Pattern.compile(pattern);
Matcher matcher = patt.matcher(s);
if (matcher.find()) {
    return matcher.group(); // you can get it from desired index as well
} else {
    return null;
}

详细了解Grouping and Capturing