Python正则表达式匹配电话

练习用文本引用网址:


正则表达式测试网址:
在线正则表达式测试 OSCHINA.NET在线工具,ostools为开发设计人员提供在线工具,提供jsbin在线 CSS、JS 调试,在线 Java API文档,在线 PHP API文档,在线 Node.js API文档,Less CSS编译器,MarkDown编译器等其他在线工具 https://tool.oschina.net/regex/

import pyperclip
text = str(pyperclip.paste())  # 将最近一次复制的内容转换为字符串
import re
regex = re.compile('(\d{3}-)?\d{8}(\d{3}-)?')
mol = regex.findall(text)
print(mol)

正则表达式【(\d{3}-)?\d{8}(\d{3}-)?】在网上测试正常,写入代码返回结果异常。

img

img

想匹配出带有区号或无区号的所有电话格式,请问如何修改

img


import pyperclip
text = str(pyperclip.paste())  # 将最近一次复制的内容转换为字符串
import re
regex = re.compile('(?:\d{3}-)?\d{8}(?:-\d{3,4})?')
mol = regex.findall(text)
print(mol)