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(国家代码)编号。。。。然后是+(国家代码)号码。你们认为这足够了吗?好吧,这似乎是一个很好的单独问题的主题。这样你就可以更详细地描述它,很多专家可以指导你(我只是一个粉丝)。