java中关于一个数字的正则表达式(比如电话号码从021开始,然后是两个重复的数字)?

java中关于一个数字的正则表达式(比如电话号码从021开始,然后是两个重复的数字)?,java,regex,Java,Regex,java中关于一个数字的正则表达式(如电话号码从021开始,然后是两个重复的数字),共11位,例如: 请帮帮我 我试过这个: ^[0][2][1][1-9]\\1[0-9]{6}$ 但不起作用:(您非常接近,只需捕获要回溯的数字并再次匹配,此模式将起作用: ^021([1-9])\\1\\d{6}$ 请注意,[0][2][1]与021完全相同,而且字符范围[0-9]可以简化为\\d我猜可能 ^021([0-9])\\1[0-9]{6}$ 或 一开始就可以了,Java使用双转义 试验 impo

java中关于一个数字的正则表达式(如电话号码从021开始,然后是两个重复的数字),共11位,例如:

请帮帮我

我试过这个:

^[0][2][1][1-9]\\1[0-9]{6}$

但不起作用:(

您非常接近,只需捕获要回溯的数字并再次匹配,此模式将起作用:

^021([1-9])\\1\\d{6}$


请注意,
[0][2][1]
021
完全相同,而且字符范围
[0-9]
可以简化为
\\d

我猜可能

^021([0-9])\\1[0-9]{6}$

一开始就可以了,Java使用双转义

试验
import java.util.regex.Matcher;
导入java.util.regex.Pattern;
公共类正则表达式{
公共静态void main(字符串[]args){
最后一个字符串regex=“^021(\\d)\\1\\d{6}$”;
最终字符串String=“02177890488\n”
+“02177098765\n”
+“02199123450\n”
+“02100890488\n”
+“02111098765\n”
+“02122123450\n”
+“0213323450\n”
+“02144123450\n”
+“02155123450\n”
+“02166123450\n”
+ "02188123450";
最终模式=Pattern.compile(regex,Pattern.MULTILINE);
final Matcher Matcher=pattern.Matcher(字符串);
while(matcher.find()){
System.out.println(“完全匹配:+matcher.group(0));

对于(inti=1;i@mmshh),您仍然需要这些偏执,比如:
([1-9])
。我尝试了这个(^021([1-9])\1\d{6}$),但是在eclipse中显示了一些错误,错误是:无效的转义序列(有效的是\b\t\n\f\r\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
^021([0-9])\\1[0-9]{6}$
^021(\\d)\\1\\d{6}$
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class RegularExpression{

    public static void main(String[] args){

        final String regex = "^021(\\d)\\1\\d{6}$";
        final String string = "02177890488\n"
             + "02177098765\n"
             + "02199123450\n"
             + "02100890488\n"
             + "02111098765\n"
             + "02122123450\n"
             + "02133123450\n"
             + "02144123450\n"
             + "02155123450\n"
             + "02166123450\n"
             + "02188123450";

        final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
        final Matcher matcher = pattern.matcher(string);

        while (matcher.find()) {
            System.out.println("Full match: " + matcher.group(0));
            for (int i = 1; i <= matcher.groupCount(); i++) {
                System.out.println("Group " + i + ": " + matcher.group(i));
            }
        }

    }
}