logo
Loading...

Regular Expression match 多行,在特定行特定字元前 - Cupoy

Text = '''Applicant:Name City State Country TypeFU...

Regular Expression match 多行,在特定行特定字元前

2020/09/18 下午 11:49
Chan Tse An
觀看數:13
回答數:2
收藏數:0

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:37
    Leo
    贊同數:1
    不贊同數:0
    留言數:0

    假設你想要的是Assignee:以前的全部字元,包含換行符號或空格等

    你可以試試看這段([\s|\S]*)Assignee:

  • 2020/09/23 上午 08:52
    KevinC
    贊同數:1
    不贊同數:0
    留言數:0

    也可以考慮用旁觀比對(lookaround)的方法:

    往右旁觀比對(lookahead),其regex表示法為: (?=...)

    往左旁觀比對(lookbehind),其regex表示法為: (?<=...)

    如:(?=Assignee)