python-3.x 如何使用正则表达式从文本字符串中拆分电话号码和姓名

dhxwm5r4  于 4个月前  发布在  Python
关注(0)|答案(2)|浏览(96)
import re
tenant_details = "Tasha Robinson (123) 4178-6875"
name = re.search("(?<=[a-zA-Z])(?=\d)",tenant_details)
print(name)

字符串
所需解决方案:

Name: Tasha Robinson
Phone No: (123) 4178-6875


姓名可以是全名或名字,电话号码可以是任何格式,如+1 854 545454

cuxqih21

cuxqih211#

您可以指定电话号码仅由字符+()\d-和空格组成。然后您可以用途:

import re

tenant_details = "Tasha Robinson (123) 4178-6875"

name, phone = re.match(r"(.*?)\s([)(+\d -]+)$", tenant_details).groups()
print(f"{name=}")
print(f"{phone=}")

字符串
印刷品:

name='Tasha Robinson'
phone='(123) 4178-6875'

lvjbypge

lvjbypge2#

这篇文章让我想起了我以前看到的一个SO帖子。有一些很棒的正则表达式here可以匹配任何电话号码。你可以修改其中一个组来匹配更大范围的电话号码。

相关问题