Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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单个正则表达式作为所有字母或长度为6的严格字母数字_Java_Regex - Fatal编程技术网

Java单个正则表达式作为所有字母或长度为6的严格字母数字

Java单个正则表达式作为所有字母或长度为6的严格字母数字,java,regex,Java,Regex,我想让Java正则表达式严格用于6位字母数字或6位字母表。我想要这些单正则表达式。 在堆栈溢出中,我找到了(?=.*[a-zA-Z])(?=.*[\\d]).*,但它在六位数的情况下不起作用。 我尝试将正则表达式本身作为(?=.*[a-zA-Z])(?=.*[\\d]){6}.*[a-Z]{6},但这也不起作用 请为这种正则表达式提供更好的解决方案。如果是6位数字或字母(混合) ^([a-zA-Z0-9]{6})$ 如果是6位数字或6个字母(不允许混合) ^([0-9]{6}|[a-zA-Z]{

我想让Java正则表达式严格用于6位字母数字或6位字母表。我想要这些单正则表达式。
在堆栈溢出中,我找到了
(?=.*[a-zA-Z])(?=.*[\\d]).*
,但它在六位数的情况下不起作用。 我尝试将正则表达式本身作为
(?=.*[a-zA-Z])(?=.*[\\d]){6}.*[a-Z]{6}
,但这也不起作用


请为这种正则表达式提供更好的解决方案。

如果是6位数字或字母(混合)
^([a-zA-Z0-9]{6})$

如果是6位数字或6个字母(不允许混合)

^([0-9]{6}|[a-zA-Z]{6})$

因此您希望允许6个长度的字母数字字符串,但不允许仅使用数字

"^(?!\\d*$)[^\\W_]{6}$"
  • 用户必须仅禁止使用数字
  • 对于alnum
    [a-zA-Z0-9]

(单击Java)

也许,
^(?:\\d{6}|[a-zA-Z]{6})$
?不确定6位数字的字母数字是什么意思。也许你需要
^(?:(?=(?:\\D*\\D){6}\\w+|[a-zA-Z]{6})$
。请分享一些示例字符串。
^[A-Za-z]{6}|[0-9]{6}$
我的猜测:有效字符串:APK67D,FGEY8J,JPOVMW。无效字符串:123456、AGH8GNK、ABHLK。
^(?!\d*$)[^\W{6}$
此正则表达式对我有效。谢谢bobble bubble谢谢bobble bubble。