請幫助正則表達式,語言可以是任何語言。我稍后會把它翻譯成 python。我正在嘗試構建一個正則表達式來捕獲下面的標簽:#Facilitator:"Full Name <mail@mail.domain>"全名可以帶有重音符號,例如 José、Pamela 或 ASCII 表中可用的任何符號。全名可以有 1、2 或 n 個姓氏。名稱末尾可以有或沒有“(公司名稱)”:例如#Facilitator:"Name1 Name2 Name3 (Company Inc) <mail@domain>"標簽可以在字符串中出現(xiàn) 0 次、1 次或 n 次。標簽可以出現(xià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條經(jīng)驗 獲得超6個贊
您可以找到使用此正則表達式的所有促進者re.findall
:
'#Facilitator:"[^"]*"'
例如
facilitator_regex?=?'#Facilitator:"[^"]*"' facilitators?=?re.findall(facilitator_regex,?notes)
對于您的示例數(shù)據(jù),這給出了
[ ?'#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 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消