java中的正则表达式,表示可包含2位数的字符串& 10个字母表,无论它们在String中的位置如何
字符串的示例是:
1abcdefghij2
12abcdefghij
abcdefghij12
abcdefg1hij2
ab12cdefghij
有可能吗?
答案 0 :(得分:1)
我认为你正在寻找的正则表达式是这样的。
正则表达式: ^(?=\D*\d\D*\d\D*$)[a-zA-Z0-9]{12}$
<强>解释强>
(?=\D*\d\D*\d\D*$)
检查是否存在2位数。
[a-zA-Z0-9]{12}
确保总长度为12.
由于已经检查了2位数,因此显然会有10个字母。
的 Regex101 Demo 强>
编辑#1:来自<{p}}的Sebastian Proske's建议编辑正则表达式
^(?=.*\d.*\d)[a-z0-9]{12}$
至^(?=\D*\d\D*\d\D*$)[a-zA-Z0-9]{12}$
答案 1 :(得分:0)