gpt4 book ai didi

java - 正则表达式精确查找 11 个重复数字

转载 作者:行者123 更新时间:2023-12-01 10:58:38 26 4
gpt4 key购买 nike

我的正则表达式:

^(\d)\1{2}.\1{3}.\1{3}-\1{2}$

不允许重复:

000.000.000-00
111.111.111-11
222.222.222-22
333.333.333-33
444.444.444-44
555.555.555-55
666.666.666-66
888.888.888-88
999.999.999-99

根据 https://www.regex101.com/ 工作正常

所以我尝试将其放入Java中,我已经尝试过这种方式:^(\\d)\\1{2}.\\1{3}.\\1{3}-\\1{2}$,但绝对不想工作。

我的代码:

if (hasTheSameDigits(cpfReplaced)) {
msg = "All the digits of informed CPF are equal.";
}

public boolean hasTheSameDigits(String cpf) {
return cpf.matches("^(\\d)\\1{2}\\1{3}\\1{3}\\1{2}$");
}

如果有人能帮助我,那就太好了。

最佳答案

此正则表达式应该有效:([0-9])\1\1\.\1\1\1\.\1\1\1-\1\1\1

(注意:由于转义,它会膨胀到此 Java 字符串:"([0-9])\\1\\1\\.\\1\\1\\1\\.\\1\\1\\1-\\1\\1\\1"。)

说明:

([0-9]) 找到一个数字。

\1 找到相同的数字。然后再次。然后再次。再次。

\. 匹配 .

- 匹配 -

关于java - 正则表达式精确查找 11 个重复数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33465315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com