为什么String.contains()不能接受正则表达式作为参数?

时间:2012-09-20 10:10:43

标签: java

有任何想法实现这个吗?

这是最好的方法吗?

boolean contains=string.split(regex,2).length==2;

非常感谢任何建议。

3 个答案:

答案 0 :(得分:2)

您通常会使用以下内容:

boolean contains = pattern.matcher(text).find();

其中patternjava.util.regex.Pattern的实例。

答案 1 :(得分:1)

这可以通过Matcher.find()

轻松实现
public static boolean containsRegex(String input, String regex) {
  return Pattern.compile(regex).matcher(input).find();
}

但是,很少需要这样做,因为您可以只使用matches,稍微扩展您的正则表达式以开始和结束.*

答案 2 :(得分:1)

我会用

boolean contains = Pattern.compile(regex).matcher(string).find();