Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 - Fatal编程技术网

如何使用正则表达式在java中查找数字和字母组合的字符串?

如何使用正则表达式在java中查找数字和字母组合的字符串?,java,regex,Java,Regex,给定一个类似于“ABC789 Nusc 2888”的字符串。我如何找到像“ABC789”这样的字符串,它是大写字母和三位数的组合?这是我试过的 "[A-Z]*[0-9]{3}" 这有助于我找到“ABC789”,但它也与“288”匹配。我应该怎么做才能只匹配“ABC789”而不是“288”?如果您至少需要一个字母,那么您可以将*更改为+ "[A-Z]+[0-9]{3}" 如果您只需要三个字母,那么可以重复{3}语法 "[A-Z]{3}[0-9]{3}" 如果您有一个范围,可以使用{1,9}

给定一个类似于“ABC789 Nusc 2888”的字符串。我如何找到像“ABC789”这样的字符串,它是大写字母和三位数的组合?这是我试过的

"[A-Z]*[0-9]{3}"
这有助于我找到“ABC789”,但它也与“288”匹配。我应该怎么做才能只匹配“ABC789”而不是“288”?

如果您至少需要一个字母,那么您可以将
*
更改为
+

"[A-Z]+[0-9]{3}"
如果您只需要三个字母,那么可以重复
{3}
语法

"[A-Z]{3}[0-9]{3}"
如果您有一个范围,可以使用
{1,9}

"[A-Z]{1,9}[0-9]{3}"

您可以执行以下操作:

重新使用时:

Pattern p = Pattern.compile("[A-Z]{3}\d{3}");
Matcher m = p.matcher("ABC789 Nusc 2888");
if(m.matches()){
   printf("It matches");
}
使用一次时:

if(Pattern.matches("[A-Z]{3}\d{3}", "Not important XYZ123 2888"))
   printf("It matches");
}