java - 如何在 Java 中编写一个只允许数字 0-9 和 # 的正则表达式

标签 java regex

我希望用户只输入数字 0-9 和“#” 没有空格,没有字母,也没有其他特殊字符。

例如:

12736#44426 :true
263 35# :false
2376shdbj# :false
 3623t27# :false
#? :false

这是我的代码:

boolean valid(String str)
    {
        if(str.matches("[0-9]+|(\\#)"))
        return true;

        else

        return false;

    }

但是对于 3256#

它返回 false

我也试过[0-9]+|(#)

我对正则表达式非常陌生。

如有任何帮助,我们将不胜感激。

如果我不清楚,请告诉我。

最佳答案

# 字符添加到您的字符类中,而不是使用交替运算符。

[0-9#]+

关于java - 如何在 Java 中编写一个只允许数字 0-9 和 # 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25750239/

相关文章:

java.sql.SQLException : Io exception: Got minus one from a read call during JDBC connection with oracle 11g

java - 无法在 Oracle Jdeveloper 12c 中启动集成 WebLogic 服务器

javascript - 正则表达式在到达时停止检测链接

c++ - 在抛出 'std::regex_error' what() : Parenthesis is not closed 实例后终止调用

regex - 系统verilog正则表达式

java - 使用 Activity 的 android 在 sql 上保存实际上并没有保存

java - (Android) 如何使用Java以编程方式设置colors.xml数据?

python - 在 python 中,re.finditer 有没有办法将文件而不是字符串作为输入?

regex - 使用正则表达式舍入

java - 数据流SDK 2.x : how to consume from PubSubIO using java serialization