0

您可以在匹配时从正则表达式返回一个值吗?假设我有正则表达式 (^(a|an)$) 当它得到“a”或“an”作为输入时它会是真的。如果它在java中匹配,我可以修改它以返回值1吗?如果不匹配,则应返回 0。我想将将来返回的值替换为 2 而不是 1。

4

2 回答 2

2

只需使用String.matches()和三元运算符将结果转换为 0/1:

inputString.matches(pattern) ? 1 : 0;
于 2013-05-16T18:22:39.977 回答
2

你可以使用这样的东西:

import java.util.regex.Pattern;
import java.util.regex.Matcher;  

public static int matches(String str, String regex) {
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(str);
    return matcher.matches() ? 1 : 0;
};
于 2013-05-16T18:19:04.850 回答