Regex从字符串Python查找此特定电话号码

问题描述 投票:0回答:1

我正在尝试创建一个Python脚本,该脚本使用正则表达式从字符串中提取电话号码。我的实际代码能够检索7/11格式。这是所有11种数字格式:

000-000-0000

000 000 0000

000.000.0000

(000)000-0000

(000)000 0000

(000)000.0000

(000) 000-0000

(000) 000 0000

(000) 000.0000

0000000000

(000)0000000

import re

Test = '000-000-0000 number 1 000 000 0000 number 2 000.000.0000 nbr3 (000)000-0000 nbr4 (000)000 0000 nbr5 (000)000.0000 nbr6 (000) 000-0000 nbr7 (000) 000 0000 nbr8 (000) 000.0000 nbr9 000-0000 nbr10 000 0000 nbr11 000.0000 nbr12 0000000 nbr13 0000000000 nbr14 (000)0000000 nbr'
phonetype1 = re.findall(r'(\d{3}[-\.\s]??\d{3}[-\.\s]??\d{4} | \(\d{3}\)\s *\d{3}[-\.\s]??\d{4} )', Test)
print(phonetype1)
print(len(phonetype1))

输出为:

['000-000-0000 ', '000 000 0000 ', '000.000.0000 ', ' (000) 000-0000 ', ' (000) 000 0000 ', ' (000) 000.0000 ', '0000000000 ']
7

我正在尝试检索的格式(4/11)是:

(000)000-0000

(000)000 0000

(000)000.0000

(000)0000000
python regex
1个回答
0
投票

使用此模式

\(?\d{3}\)?([-.\s])?\d{3}([-.\s])?\d{4}

尝试测试用例Regex Demo

© www.soinside.com 2019 - 2024. All rights reserved.