我在搜索长字符串的电子邮件地址时遇到问题。 我需要返回所有匹配项,而不仅仅是返回。
我尝试过:
def email():
try:
a = re.search(r'abc.{1,11}@xyz.co.za|def@xyz.co.za',string)
return a.group(0)
except Exception:
return 1
和
def email():
try:
a = re.search(r'abc.{1,11}@xyz.co.za' or 'def@xyz.co.za',string)
return a.group(0)
except Exception:
return 1
和
def email():
try:
a = re.search('abc.{1,11}@xyz.co.za',string)
b = re.search('def@xyz.co.za',string)
return a.group(0),b.group(0)
except Exception:
return 1
以及其他不同组合。
从第一个脚本中,我收到电子邮件地址的第一个匹配项。 从第二个脚本中,我只收到一场比赛 从第三个脚本中,我收到所有匹配项。我的问题是,如果其中之一不匹配,则返回1。
我想看到的是,无论匹配多少,它都会返回所有匹配的电子邮件地址。
答案 0 :(得分:0)
我最终这样做是这样的:
def mailbox():
try:
a = re.findall(r'abc.{1,11}@xyz.co.za|def@xyz.co.za',string)
return set(a)
except Exception:
return 1
唯一的问题是,如果我什么都不匹配,它将返回set()