匹配电话号码,正则表达式

Lui*_*uez 3 python regex

我用这种格式的电话号码:

 some_text   phone_number some_text
 some_text   (888) 501-7526 some_text
Run Code Online (Sandbox Code Playgroud)

这是搜索电话号码的更加pythonic方式

(\(\d\d\d\) \d\d\d-\d\d\d\d)

(\([0-9]+\) [0-9]+-[0-9]+)
Run Code Online (Sandbox Code Playgroud)

还是有一个更简单的表达来做到这一点?

pzp*_*pzp 6

我想你正在寻找这样的东西:

(\(\d{3}\) \d{3}-\d{4})
Run Code Online (Sandbox Code Playgroud)

Python文档:

{M}

指定应匹配前一个RE的m个副本; 较少的匹配导致整个RE不匹配.例如,{6}将恰好匹配六个'a'字符,但不匹配五个字符.

(\(\d\d\d\) \d\d\d-\d\d\d\d)也会有效,但是,正如你在问题中所说,这是相当重复的.您的其他建议模式(\([0-9]+\) [0-9]+-[0-9]+)会对输入产生误报,例如(1) 2-3.