这是我的@Pattern注释。我想禁止重复9次的数字。我做错了什么?
@Pattern(regexp="(?!.*\\d{9})")
这些将是无效的字符串:
111111111
222222222
这些是有效的:
111111112
222222221
123456789
只有长度为9的字符串才有效,但这不是正则表达式的一部分,因为它将由其他注释控制。
答案 0 :(得分:4)
在评论后编辑
我认为你的意思是你不希望相同的数字重复9次。要做到这一点,你需要捕获一个数字,并参考它,看它是否重复8次。
@Pattern(regexp="^(?!(\\d)\\1{8})")
如果您只是使用\\d{9}
,则表示重复任何数字。
另请注意,您不需要.*
。正则表达式将决定自己在哪里开始比赛。