在Java中检查字符串中的字符

在Java中检查字符串中的字符,java,regex,Java,Regex,我正在用java为我的一个文本字段上的输入创建一个验证器。输入字段的长度应为10,值应为1-9之间的任意数字。问题是,输入应该只使用相同字符的10倍。。。因此,有效值应如下所示: 1111111111 2222222222 .... 9999999999 但如果输入的文本类似于11111112,则应将其视为无效条目 目前我使用String.matches^[0-9]+$检查输入值是否有效,但仍然接受11111111 2作为有效值。检查字符串的所有10个字符是否相同的正确方法是什么?您可以使用反

我正在用java为我的一个文本字段上的输入创建一个验证器。输入字段的长度应为10,值应为1-9之间的任意数字。问题是,输入应该只使用相同字符的10倍。。。因此,有效值应如下所示:

1111111111
2222222222
....
9999999999
但如果输入的文本类似于11111112,则应将其视为无效条目


目前我使用String.matches^[0-9]+$检查输入值是否有效,但仍然接受11111111 2作为有效值。检查字符串的所有10个字符是否相同的正确方法是什么?

您可以使用反向引用:

String.matches("^([0-9])\1{9}$")
或:


这仅与一行中完全相同的10位数字匹配。

您可以使用反向引用:

String.matches("^([0-9])\1{9}$")
或:


这只匹配一行中完全相同的10个数字。

太快了,sshashank+1:@zx81,谢谢。我们又见面了你让我笑了。。。谢谢你待会儿见,开始看节目。太棒了。非常感谢太快了,沙桑+1:@zx81,谢谢。我们又见面了你让我笑了。。。谢谢你待会儿见,开始看节目。太棒了。非常感谢