Regular Expression match 多行,在特定行特定字元前
Text = '''
Applicant:
Name City State Country Type
FUNDACIO INSTITUT DE CI NCIES FOT NIQUES
FUNDACIO CENTRE DE REGULACIO GEN MICA
INSTITUCIO CATALANA DE RECERCA I ESTUDIS AVANcATS
Castelldefels-Barcelona
Barcelona
Barcelona
N/A
N/A
N/A
ES
ES
ES
Assignee: FUNDACIO INSTITUT DE CI NCIES FOTONEQUES (Castelldefels-Barcelona, ES)
FUNDACIO CENTRE DE REGULACIO GEN MICA (Barcelona, ES)
INSTITUCIO CATALANA DE RECERCA.uparw.ESTUDIS AVANcATS (Barcelona, ES)
'''
想要讓RE 使用findall match
'''
Applicant:
Name City State Country Type
FUNDACIO INSTITUT DE CI NCIES FOT NIQUES
FUNDACIO CENTRE DE REGULACIO GEN MICA
INSTITUCIO CATALANA DE RECERCA I ESTUDIS AVANcATS
Castelldefels-Barcelona
Barcelona
Barcelona
N/A
N/A
N/A
ES
ES
ES
'''
但又必須在Assignee的前一行
請教各位老師 Regex 該怎麼表達呢?
回答列表
-
2020/09/22 下午 10:37Leo贊同數:1不贊同數:0留言數:0
假設你想要的是Assignee:以前的全部字元,包含換行符號或空格等
你可以試試看這段([\s|\S]*)Assignee:
-
2020/09/23 上午 08:52KevinC贊同數:1不贊同數:0留言數:0
也可以考慮用旁觀比對(lookaround)的方法:
往右旁觀比對(lookahead),其regex表示法為: (?=...)
往左旁觀比對(lookbehind),其regex表示法為: (?<=...)
如:(?=Assignee)