java - 如何使用正则表达式检查字符串是否仅包含特定字符

标签 java regex string

我在Java中有一长串数字。我想找到字符串是否包含数字0、1、4、6、8、9中的任何一个。 我不想检查我的字符串是否只包含任何随机数字。

我不在乎数字出现多少次。如果上述数字中的任何一个出现在字符串中,即使一次,我想立即停止并返回 true。

什么正则表达式可以用来匹配这个字符串?

有没有比使用正则表达式更快的方法? 我正在使用 Java 8。

编辑:我已经在网上找到了很多解决方案来检查字符串是否包含数字。这些解决方案在这里不起作用,因为我想最佳找出我的字符串(长度约为 10^15 个字符)是否包含特定数字。

最佳答案

您可以将模式 .*[014689].*String.matches() 一起使用:

String input = "1 Hello World";
if (input.matches(".*[014689].*")) {
    System.out.println("Match!");
}

关于java - 如何使用正则表达式检查字符串是否仅包含特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42411634/

相关文章:

java - Bean 管理事务和 org.hibernate.LazyInitializationException

regex - 使用 Perl 提取内容

c++ - 无法理解 C 中字符串和循环的这种意外行为

c++ - 没有调用 getline(std::istream&, int&) 的匹配函数

java - 如何创建没有中心的 JavaFX BorderPane?

java - 使用 And 运算符进行 spring data mongodb 全文搜索

python-3.x - 搜索特定字符之间的最后一组文本

string - 如何从标准输入中读取单个字符串?

java - Windows 高低游戏逻辑

python - Django URL 正则表达式出现类型错误