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

时间:2014-06-29 07:47:17

标签: java regex

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

1111111111
2222222222
....
9999999999

但是如果输入的文本类似于111111112,则应将其视为无效条目。

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

1 个答案:

答案 0 :(得分:5)

您可以使用反向引用来执行此操作:

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

或:

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

DEMO

这只匹配 all 相同行中的10个数字。