使用未使用正则表达式或以数字开头的正则表达式提取电话号码

时间:2017-04-12 12:54:42

标签: python regex

我想使用未遵循或前面有数字的正则表达式提取电话号码。

ogle+logo-e1396374999431.jpeg // should not match

tel:8054051124">805-405-1234 // should match

以下是正则表达式SHOULD NOT HAVE DIGITS IN THE END,但不执行SHOULD NOT HAVE DIGITS AT BEGINNING

(\(?\d{3}\)?-? *\d{3}-? *-?\d{4})(?!\d)

在线链接:https://regex101.com/r/Irshpq/1/

我还通过在线搜索尝试了(?!\d)(\(?\d{3}\)?-? *\d{3}-? *-?\d{4})(?!\d)和其他一些事情,但没有用。

1 个答案:

答案 0 :(得分:2)

添加否定的lookbehind (?<!\d)

(\(?(?<!\d)\d{3}\)?-? *\d{3}-? *-?\d{4})(?!\d)
    ^^^^^^^

请参阅regex demo

如果您需要避免将数字与前面带有数字的(123)匹配,请将lookbehind移至模式的开头。