android - 如何使用 android 正则表达式匹配字符串中的非数字字符?

标签 android regex

我正在尝试检查字符串是否包含非数字字符。 例如:“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/

相关文章:

java - NetBeans 不喜欢 lib-src 中的库

javascript - 如何使用 JavaScript 获取输入字段中光标下的字符串

c# - 替换sql文件的最佳步骤

android - 如何将线性布局与垂直中心对齐?

android - setSelection 不工作 - getSelectedItemPosition 总是返回 -1

android - ViewPager 中的 ListFragments

php - 散列或映射如何在 PHP 中工作

python - 如何使用正则表达式拆分列表元素

php - 正则表达式:如果字符串包含括号内的特定单词,则删除括号及其内容

android - 如何找出使用了哪个可绘制资源?