带有Pattern的Java正则表达式计数大小

时间:2014-10-13 18:08:23

标签: java regex

我想用这个Patern检查一个字符串:

Pattern.compile("^0*(([a-q]{6,}|[A-Q]{6,}){6,24})(1{6,})(([a-q]{6,}|[A-Q]{6,}){6,24})(1*0*$)");

[a-q]的长度不能超过6. [a-qA-Q]的长度不能超过24。

例如:max 24(min 6(aaaaaa)AAAAAAAbbbbbbbbb)111111...

但是代码使用组(aaaaaa)就像1个元素一样,并且应该计为6个元素。我需要使用OR来[a-q]|[A-Q].

我如何用1种模式做到这一点?

1 个答案:

答案 0 :(得分:0)

不确定我是否正确理解了您的问题但尝试了这种模式

^(?=.*([a-qA-Q])\1{5,})[a-qA-Q]{6,24}$  

Demo