Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与正则表达式一起发行_Java_Regex_String - Fatal编程技术网

Java 与正则表达式一起发行

Java 与正则表达式一起发行,java,regex,string,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 {

我想写一个正则表达式,其中字符串 (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}$"

从正则表达式模式的开头和结尾删除
/
,它将起作用。

如果
您可以简单地使用
System.out.println(id.matches(pattern))
而不是
。它总是为给定的id提供false,它不会返回true@JaneRaj:请删除斜杠,但这不是唯一的问题。