现在尝试了一段时间,但似乎无法在python中使用RE正确获取它。
我有这个作为回报
Kinepolis Ticket <info@domain.com>
但是我想将名称和电子邮件存储在单独的变量中。因此结果将是:
name = Kinepolis Ticket
email = info@domain.com
答案 0 :(得分:2)
您可以使用
import re
string = "Kinepolis Ticket <info@domain.com>"
rx = re.compile(r'([^<>]+)\s<([^<>]+)>')
m = rx.search(string)
if m:
name, email = m.groups()
print(name, email)
Python 3.8
起:
import re
string = "Kinepolis Ticket <info@domain.com>"
if (m := re.search(r'([^<>]+)\s<([^<>]+)>', string)):
# ^^^ walrus
name, email = m.groups()
print(name, email)
答案 1 :(得分:1)
>>> import re
>>> m = re.match('([^<>]*)<([^<>]*)>','Kinepolis Ticket <info@domain.com>')
>>> name = m.group(1).strip()
>>> email = m.group(2).strip()
>>> print("name={},email={}".format(name,email))
name=Kinepolis Ticket,email=info@domain.com