正则表达式10位phone号码抓取
Regular expression 10 digit phone number capture
我正在尝试匹配单词边界上的 10 位 phone 数字(以 2-9 开头)(即它们周围有白色 space。)有时上面的 phone 数字以 +1 或 1
为前缀
我希望它仍然匹配后面的 10 位 phone 数字,但丢弃 +1 或 1 文本中可以有多个 phone 数字。
这是我的正则表达式
\b(([+]?[1-9]{1})?([2-9][0-9]{9}))\b
https://regex101.com/r/yS1vM4/1
显示匹配项。但是它与第一行数字不匹配,它不应该与第二行和最后一行匹配:
abcd +12125551212 xyz should match starting at 212
abcd +2125551212 xyz should NOT match (+ sign only)
abcd 2125551212 xyz match OK!
abcd+12125551212 xyz should NOT match (no white space at start)
abcd 12125551212 xyz should match starting at 212
谢谢
您或许可以将此正则表达式用于您的示例:
/(?:(?<= [+][1-9])|(?<= [1-9])|(?<= ))([2-9][0-9]{9})\b/gi
否则这个正则表达式并使用匹配组 #1:
/\s([+]?[1-9])?([2-9][0-9]{9})\b/gi
这是一个更好的。
(?<!\S)(?:\+?1)?([2-9]\d{9})(?!\S)
格式化(this):
(?<! \S ) # Look behind, whitespace or ^
(?: \+? 1 )? # Optional +1
( [2-9] \d{9} ) # (1), ten digit phone
(?! \S ) # Look ahead, whitespace or $
我正在尝试匹配单词边界上的 10 位 phone 数字(以 2-9 开头)(即它们周围有白色 space。)有时上面的 phone 数字以 +1 或 1
为前缀我希望它仍然匹配后面的 10 位 phone 数字,但丢弃 +1 或 1 文本中可以有多个 phone 数字。 这是我的正则表达式
\b(([+]?[1-9]{1})?([2-9][0-9]{9}))\b
https://regex101.com/r/yS1vM4/1
显示匹配项。但是它与第一行数字不匹配,它不应该与第二行和最后一行匹配:
abcd +12125551212 xyz should match starting at 212
abcd +2125551212 xyz should NOT match (+ sign only)
abcd 2125551212 xyz match OK!
abcd+12125551212 xyz should NOT match (no white space at start)
abcd 12125551212 xyz should match starting at 212
谢谢
您或许可以将此正则表达式用于您的示例:
/(?:(?<= [+][1-9])|(?<= [1-9])|(?<= ))([2-9][0-9]{9})\b/gi
否则这个正则表达式并使用匹配组 #1:
/\s([+]?[1-9])?([2-9][0-9]{9})\b/gi
这是一个更好的。
(?<!\S)(?:\+?1)?([2-9]\d{9})(?!\S)
格式化(this):
(?<! \S ) # Look behind, whitespace or ^
(?: \+? 1 )? # Optional +1
( [2-9] \d{9} ) # (1), ten digit phone
(?! \S ) # Look ahead, whitespace or $