我想为 6 位字母数字或 6 位字母表制作 Java 正则表达式。我想要这些在单个正则表达式中。
在 Stack overflow 中我找到了 (?=.*[a-zA-Z])(?=.*[\\d]).*
但它不适用于六位数的条件。
我在正则表达式本身内部尝试使用 OR 作为 (?=.*[a-zA-Z])(?=.*[\\d]){6}.*|[A-Z]{6}
但这也没有用。
请提出对于这种正则表达式更好的解决方案。
最佳答案
因此,您希望允许 6 位长度的字母数字字符串,但只允许数字。
"^(?!\\d*$)[^\\W_]{6}$"
- lookahead只允许数字。
[^\W_]
is a short对于 alnum[a-zA-Z0-9]
See demo at regexplanet (点击Java)
关于Java 单个正则表达式作为所有字母或 6 长度的严格字母数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38306928/