这是一个为每个匹配返回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;
}
}
答案 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;
}