我正在尝试检查字符串是否包含非数字字符。 例如:“4012-8888-8888-1881”或“4012 8888 8888 1881”
这是我的代码……它对上述字符串返回 false。
public static boolean containsNonNumericCharacters(String rawInput) {
Pattern p = Pattern.compile("(\\D+)");
Matcher m = p.matcher(rawInput);
return m.matches();
}
我做错了什么?
最佳答案
这会尝试通过模式匹配您的整个输入。如果所有字符都是非数字,它只会返回 true
。
您可以改为使用模式 "(\\d+)"
并返回 !m.matches()
关于android - 如何使用 android 正则表达式匹配字符串中的非数字字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20814776/