正则表达式正确检测 phone 个数字,但当 phone 个数字是内联时则不能
Regular expression detects phone numbers correctly but not when phone numbers are inline
我正在尝试通过正则表达式从字符串中删除荷兰语 phone 数字。要删除的 phone 号码可以包含空格、破折号和国家/地区代码。
这些是要检测的通常使用的格式:
06-12345678
0612345678
0612345678
0101234567
010-1234567
010 1234567
010 12 34 567
010 12 34567
010 1234 567
+31612345678
0031123456789
到目前为止我有:^(?:0|(?:\+|00) ?31 ?)(?:(?:[1-9] ?(?:[0-9] ?){8})|(?:6 ?-? ?[1-9] ?(?:[0-9] ?){7})|(?:[1,2,3,4,5,7,8,9]\d ?-? ?[1-9] ?(?:[0-9] ?){6})|(?:[1,2,3,4,5,7,8,9]\d{2} ?-? ?[1-9] ?(?:[0-9] ?){5}))$
当 phone 数字在单独的行上但当它们像这样内联时,这非常有效:
this is a list of numbers inline 06-12345678 gggf0612345678 06 12345678 0101234567 010-1234567 dfgfdg010 1234567
在这里测试:https://regex101.com/r/jOEFwS/2
我在这里查过,但那是美国 phone 号码:
- How to validate phone numbers using regex
如何更改我的表达式以捕获内联?
您需要删除开头的 ^
和结尾的 $
。
更多信息:
在 regex101 中,您有 m 标志,它使 ^ 和 $ 基于行,没有它 ^ 是字符串的开头,$ 是字符串的结尾。
我正在尝试通过正则表达式从字符串中删除荷兰语 phone 数字。要删除的 phone 号码可以包含空格、破折号和国家/地区代码。
这些是要检测的通常使用的格式:
06-12345678
0612345678
0612345678
0101234567
010-1234567
010 1234567
010 12 34 567
010 12 34567
010 1234 567
+31612345678
0031123456789
到目前为止我有:^(?:0|(?:\+|00) ?31 ?)(?:(?:[1-9] ?(?:[0-9] ?){8})|(?:6 ?-? ?[1-9] ?(?:[0-9] ?){7})|(?:[1,2,3,4,5,7,8,9]\d ?-? ?[1-9] ?(?:[0-9] ?){6})|(?:[1,2,3,4,5,7,8,9]\d{2} ?-? ?[1-9] ?(?:[0-9] ?){5}))$
当 phone 数字在单独的行上但当它们像这样内联时,这非常有效:
this is a list of numbers inline 06-12345678 gggf0612345678 06 12345678 0101234567 010-1234567 dfgfdg010 1234567
在这里测试:https://regex101.com/r/jOEFwS/2
我在这里查过,但那是美国 phone 号码:
- How to validate phone numbers using regex
如何更改我的表达式以捕获内联?
您需要删除开头的 ^
和结尾的 $
。
更多信息: 在 regex101 中,您有 m 标志,它使 ^ 和 $ 基于行,没有它 ^ 是字符串的开头,$ 是字符串的结尾。