Java 与正则表达式一起发行
我想写一个正则表达式,其中字符串 (9个字符)并以“g”或“r”开头 之后是所有的数字 我写了这篇文章,但它不起作用: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 {
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:请删除斜杠,但这不是唯一的问题。