仅适用于大写字母和数字的 Java 正则表达式

标签 java regex string

我正在尝试用 Java 做一个简单的正则表达式,但由于某种原因失败了。我想要做的就是验证字符串是否包含大写字母和/或数字。所以 ABC1、111 和 ABC 是有效的,但 abC1 不是。

所以我尝试这样做:

    if (!e.getId().matches("[A-Z0-9]")) {
        throw new ValidationException(validationMessage);
    }

我确定 e.getId() 有 ABC1 但它仍然抛出异常。我知道这是非常小而且愚蠢的事情,但我无法弄清楚。

最佳答案

使用 ^[A-Z0-9]+$ 作为匹配模式。但是 matches 方法匹配整个字符串, [A-Z0-9]+ 就足够了。

关于仅适用于大写字母和数字的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10168694/

相关文章:

java - 使用准备好的语句为 JQuery JTable 选择值

java - 如何在文件中写入 JSON 格式结果?

regex - 使用正则表达式拆分后零件过多

php - 您能解释/简化 PHP 中的正则表达式 (PCRE) 吗?

c - 在C中修改rindex

php - 从字符串中删除特定字符的方法?

java - 使用 Java 对无序 XML 进行排序

java - 我的 .xml 文件布局在模拟中未正确显示

Javascript 正则表达式表示金额和货币

C# String.Format() 返回错误字符