用于验证2个字母数字的正则表达式

时间:2018-08-03 22:41:50

标签: java regex pattern-matching

我具有以下模式来验证字符串,它必须验证 4个字母 6个数字 6个字母 2个字母数字,但是按照我目前的模式,我无法获得有效的测试

Pattern.compile("[A-Za-z]{4}\\d{6}\\w{6}\\[A-ZÑa-zñ0-9\\- ]{2}");

我认为我的模式是错误的,因为我对这个[A-ZÑa-zñ0-9\\- ]{2}

并不确定

你能帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以使用模式:

SELECT GETVARIABLE('SYSIBM.VERSION') FROM SYSIBM.SYSDUMMY1;

实时检查它here。 在您的表达式中,您使用的是^[a-zA-Z]{4}[0-9]{6}[a-zA-Z]{6}[a-zA-Z0-9]{2}$ ,它不仅匹配数字和字母字符,而且还下划线\w+

答案 1 :(得分:1)

正则表达式上有一些问题。

  • 您的数字和单词匹配中有多余的反斜杠。从char commandReply[512]; if(sendCommand(myFileDescriptor, "AT+CGNSINF\r", "\r\nOK\r\n", commandReply)){ //do something with commandReply or not } else { //command failed //do something else } 更改为\\d,从\d更改为\\w

  • 不需要\w

  • 您的正则表达式语法无效。只需移除\\位即可。

您还可以将初始部分缩小为"\\- ",而不是\w。因此,您是新的正则表达式应如下所示:

[A-Za-z]

如果您可以接受,那么最后两个字母数字中唯一的非ASCII字符为Ñ和ñ。