这是我的代码
public class regMatch {
public static void main(String... args)
{
String s = "1";
System.out.println(s.contains("/[0-9]/"));
}
}
其印刷错误;
我想在contains
方法中使用正则表达式。
我该如何使用它。
我想在 contains 方法中使用正则表达式。
我该如何使用它
你不能contains
在方法中使用正则表达式
您不需要(也不应该使用)Java 正则表达式中的分隔符
而且该contains()
方法不支持正则表达式。你需要一个正则表达式对象:
Pattern regex = Pattern.compile("[0-9]");
Matcher regexMatcher = regex.matcher(s);
System.out.println(regexMatcher.find());
您可以使用Pattern类来测试正则表达式匹配。但是,如果您只是测试字符串中是否存在数字,则直接测试它比使用正则表达式更有效。
您可以使用matches()
正则表达式.*[0-9].*
来查找是否有任何数字:
System.out.println(s.matches(".*[0-9].*"));
(或对于多行字符串,请改用正则表达式(.|\\s)*[0-9](.|\\s)*
)
另一种选择 - 如果您渴望使用contains()
从 0 到 9 迭代所有字符,并检查每个字符串是否包含它:
boolean flag = false;
for (int i = 0; i < 10; i++)
flag |= s.contains("" + i);
System.out.println(flag);