重复字符和字母的Java正则表达式

时间:2015-02-01 12:14:49

标签: java regex

我正在开展一个项目,我有用户注册表格。我想阻止我的用户

1)输入重复的字母和字符,例如111111wwwwwwww

2)输入重复的数字序列,例如abc@123412341234(防止1234重复)。

我已经搜索并尝试了多个正则表达式但找不到可以解决所有用例的内容。

提前致谢!!

1 个答案:

答案 0 :(得分:1)

使用否定前瞻。

^(?!.*(.+)\1).+

DEMO

String[] s = {"111111" , "wwwwwwww","abc@123412341234","fobar"};
for(String i: s)
{
    System.out.println(i.matches("^(?!.*(.+)\\1).+"));
}

输出:

false
false
false
true

OR

^(?!(.)\1+$|.*(\d+)\2).*

java正则表达式,

string.matches("^(?!(.)\\1+$|.*(\\d+)\\2).*");

DEMO