java - 正则表达式问题

标签 java regex string

我想写一个正则表达式,其中一个字符串有 (9 个字符)并以“g”或“r”开头 然后后面都是数字。

我已经写了这个但是它不起作用:

public static void main(String[] args) {
    String id= "g57895452";
    String pattern = "/^g([0-9]+){8}$/";
    if (id.matches(pattern)) {
        System.out.println("true");
    } else {
        System.out.println("false");
    }
}

最佳答案

更正:

"^[gr]([0-9]{8})$"

当您已经拥有 {8} 时,您不需要 +

此外,当您不想在代码中进一步使用该组时,您也不需要 ()

"^[gr][0-9]{8}$"

关于java - 正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11308825/

相关文章:

JavaScript 按空格分割忽略括号

c++ - 在字符串中使用删除函数是否会使迭代器无效

javascript - 替换两侧都有空格的所有出现的字符串

java - 如何在 Android 中将颜色整数转换为十六进制字符串?

java - 如何将列表或数组列表从 AsyncTask 类传递到另一个类

java - 注册屏幕永远不会导致任务成功

java - 有哪些好的二进制数据压缩 Java 库?

python - 使用 python 在文本文件中搜索特定字符的出现

Python Pandas df,将货币金额中的 $、M 和 K 替换为 int 的最佳方法

java - 如何在Mac上更改MySQL的character_set_server