Regx用于字符串2位和10个字母,无论它们在字符串中的位置如何

时间:2016-03-14 12:03:27

标签: regex

java中的正则表达式,表示可包含2位数的字符串& 10个字母表,无论它们在String中的位置如何

字符串的示例是:

1abcdefghij2
12abcdefghij
abcdefghij12
abcdefg1hij2
ab12cdefghij

有可能吗?

2 个答案:

答案 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)

是的,这是可能的。

[12a-j]+表示字符串不受长度限制,[12a-j]{12}表示字符串正好长12个字符。

你可以test it here