我尝试只匹配电话号码的9位数字
我有多个输入
+33123456789
或
0123456789
或
+33 01 23 45 67 89
或
01 23 45 67 89
我想要一个输出123456789
目前我已经找到了匹配方法 +33123456789 要么 0123456789
带有(\ d {9} $)
但是我找不到如何与
之间的空格匹配谢谢
答案 0 :(得分:1)
您可以使用重复匹配一个数字,然后用0+乘以空格8次。对于最后一位,您还可以将0+乘以一个空格和一位数字,并将其捕获到一个组中。
在捕获的组匹配0 *后乘以一个空格并声明字符串的结尾。
((?:\d *){8} *\d) *$
说明
(
捕获组
(?:\d *){8}
将与数字匹配的非捕获组重复8次,并在空格处重复0+次*\d
匹配0+倍的空格后跟一个数字)
关闭非捕获组*$
匹配0+乘以一个空格并声明字符串的结尾第一个捕获组中的9位数字(包括它们之间的空格)。
答案 1 :(得分:1)