RegEx在手机号码的第三列中没有空格
我为手机号码想出了以下正则表达式:RegEx在手机号码的第三列中没有空格,regex,numbers,Regex,Numbers,我为手机号码想出了以下正则表达式: ^\+([0-9]{1,} )+([0-9]{2,} )+[0-9]+ 有效数字示例: +385 552 8221520 什么是相应的正则表达式,因此如果在第三个捕获组中发现任何空格,我不会得到匹配: +385 552 82215 20(现在进行匹配,但不是很好!) 您的模式包含量化的分组。^+([0-9]{1,})+([0-9]{2,})+[0-9]+模式匹配一个字符串,该字符串以+开头,然后包含1个或多个重复的1+位数加空格,然后是1+重复的2+位数加空
^\+([0-9]{1,} )+([0-9]{2,} )+[0-9]+
有效数字示例:
+385 552 8221520
什么是相应的正则表达式,因此如果在第三个捕获组中发现任何空格,我不会得到匹配:
+385 552 82215 20(现在进行匹配,但不是很好!)
您的模式包含量化的分组。
^+([0-9]{1,})+([0-9]{2,})+[0-9]+
模式匹配一个字符串,该字符串以+
开头,然后包含1个或多个重复的1+位数加空格,然后是1+重复的2+位数加空格,然后是1+位数。因此,它匹配许多空格分隔的数字块。此外,它不是用$
锚定在字符串的末尾,如果与允许部分匹配的regex方法一起使用,则可能会匹配结尾包含垃圾的字符串
要将数字块限制为仅三个空格分隔的数字块,您可以使用以下任一选项:
-如果数字组之间可以有1个或多个空格^\+[0-9]++[0-9]{2,}+[0-9]+$
-如果数字组之间可以有1或0个空格^\+[0-9]+?[0-9]{2,}?[0-9]+$
-如果数字组之间可以有0个或更多空格^\+[0-9]+*[0-9]{2,}*[0-9]+$
请注意,
$
添加在每个模式的末尾。另外,请参见。您可能需要。如果空格是可选的,请将“+”替换为“*”。您好,谢谢您的快速评论!Wiktor的那个似乎适合我的需要。你们中的那个anubhava不起作用。