请帮助正则表达式,语言可以是任何语言。我稍后会把它翻译成 python。我正在尝试构建一个正则表达式来捕获下面的标签:#Facilitator:"Full Name <mail@mail.domain>"全名可以带有重音符号,例如 José、Pâmela 或 ASCII 表中可用的任何符号。全名可以有 1、2 或 n 个姓氏。名称末尾可以有或没有“(公司名称)”:例如#Facilitator:"Name1 Name2 Name3 (Company Inc) <mail@domain>"标签可以在字符串中出现 0 次、1 次或 n 次。标签可以出现在字符串的任何地方。到目前为止尝试这样(python)但没有成功:import renotes = 'Verbal confirmation #Facilitator:"Fernas P. Loyola (YARDA LTDA) <ope@yahoo.com>"from ATUX with Melanie. Waiting for scheduling#Facilitator:"Fernandes <v-rrlo@stttr.de>" #Facilitator:"Pablito Ferdinandes <papa@gmail.com>"'facilitator_regex = '^.*((#Facilitator:".*"){1,}).*$'regex_replace = '\\1'print(re.sub(facilitator_regex, regex_replace, notes))我期望的输出是一个由空格分隔的 0、1 或更多#tags 的列表。对任何语言有帮助吗?我主要需要正则表达式本身的帮助。非常感谢。
1 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
您可以找到使用此正则表达式的所有促进者re.findall
:
'#Facilitator:"[^"]*"'
例如
facilitator_regex = '#Facilitator:"[^"]*"' facilitators = re.findall(facilitator_regex, notes)
对于您的示例数据,这给出了
[ '#Facilitator:"Fernas P. Loyola (YARDA LTDA) <ope@yahoo.com>"', '#Facilitator:"Fernandes <v-rrlo@stttr.de>"', '#Facilitator:"Pablito Ferdinandes <papa@gmail.com>"' ]
然后你可以用来str.join
制作一个以空格分隔的列表:
print(' '.join(facilitators))
输出:
#Facilitator:"Fernas P. Loyola (YARDA LTDA) <ope@yahoo.com>" #Facilitator:"Fernandes <v-rrlo@stttr.de>" #Facilitator:"Pablito Ferdinandes <papa@gmail.com>"
- 1 回答
- 0 关注
- 116 浏览
添加回答
举报
0/150
提交
取消