Java 用正则表达式检查数字

Java 用正则表达式检查数字,java,regex,string,Java,Regex,String,我试着写一个正则表达式 Log.e("before: ", number); number = number.replaceAll("^[0]{0,4}", "+"); // e.g. 004912345678 -> +4912345678 Log.e("after: ", number); 那是因为 004912345678 +4912345678 +4912345678 ++4912345678 事实上,它是有效的,但它也使 004912345678 +4912345678

我试着写一个正则表达式

Log.e("before: ", number);
number = number.replaceAll("^[0]{0,4}", "+"); // e.g. 004912345678 -> +4912345678
Log.e("after: ", number);
那是因为

004912345678

+4912345678
+4912345678

++4912345678
事实上,它是有效的,但它也使

004912345678

+4912345678
+4912345678

++4912345678
我不想要。我不知道为什么它会匹配以
+
开头的字符串,因为
我用我的模式写了
^[0]…

使用
^[0]{1,4}
而不是
^[0]{0,4}


^[0]{0,4}
也将接受
0的零,正如您所看到的
+4912345678
具有零的零,因此regex将能够找到匹配项并将
+
放在那里 +<代码>(实际上对人类没有什么,实际上是“计算机”的东西)加上+?我只是看到你认为自己是一个正则表达式迷。我能问你件事吗?有什么方法可以私下谈谈吗?有个聊天室,但我从来没用过。我将尝试创建一个房间。mh好的,然后让我在这里尝试快速创建,我尝试以以下格式获取电话号码:
+(国家代码)号码
,如果可能,尽可能多的国家。我是这样做的,首先我检查第一个字符是否为
0
,第二个字符是否为,如果为真:将其替换为
+(国家代码)编号
,然后我用regex检查您刚才给我看的是否为00(国家代码)编号。。。。然后是+(国家代码)号码。你们认为这足够了吗?好吧,这似乎是一个很好的单独问题的主题。这样你就可以更详细地描述它,很多专家可以指导你(我只是一个粉丝)。