电话号码上的Python regex

2024-09-29 03:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下正则表达式来匹配电话号码(仍在开发中,因此不全面):

\(?\+[\d _\-\.\)\(\+]{8,25}[\d]{1}

当我用regex101测试它时,或者regexpal.com网站,它同时匹配+442032398869和+1(888)2572054。在

但是,当我用Python脚本运行它时,+442032398869不匹配。有什么原因吗?我该怎么解决呢?在

附加问题:根据我的阅读资料,我应该在第一个字符集内进行尽可能多的越狱。如果我去掉前面的反斜杠,Python会再次抛出异常。或者+例如?在

编辑:

^{2}$

两个HTML文件的编号是不同的,所以每个文件都有两个编号。在


Tags: 文件脚本com编辑网站html电话号码原因
1条回答
网友
1楼 · 发布于 2024-09-29 03:24:58

您的regex有效:

>>> s = 'blah +442032398869 blah +1 (888) 2572054blah'
>>> re.findall(r'\(?\+[\d _\-\.\)\(\+]{8,25}[\d]{1}', s)
['+442032398869', '+1 (888) 2572054']

您的代码表明您正在尝试匹配html文本中的数字。也许有标记将您要匹配的数字的部分分隔开。或者加号实际上是一个unicode全宽加号(U+FF0B)。或者其他类似的东西。在

相关问题 更多 >