2
我有一個字符串,其中包含由特定子字符串分隔的組。喜歡的東西:以字符串分隔的提取組
FOO10 F10 O20 FOO20 F11 O11
我想將它分成不同的小組,同時保留組標識符,即
FOO10 F10 O20
FOO20 F11 O11
有沒有一種方式來捕捉從字FOO任何下一FOO的左邊界或行結束?
我有一個字符串,其中包含由特定子字符串分隔的組。喜歡的東西:以字符串分隔的提取組
FOO10 F10 O20 FOO20 F11 O11
我想將它分成不同的小組,同時保留組標識符,即
FOO10 F10 O20
FOO20 F11 O11
有沒有一種方式來捕捉從字FOO任何下一FOO的左邊界或行結束?
>>> import re
>>> re.findall('FOO.*?(?=FOO|$)', "FOO10 F10 O20 FOO20 F11 O11")
['FOO10 F10 O20 ', 'FOO20 F11 O11']
>>> map(str.strip, re.findall('FOO.*?(?=FOO|$)', "FOO10 F10 O20 FOO20 F11 O11"))
['FOO10 F10 O20', 'FOO20 F11 O11']
>>> s = "FOO10 F10 O20 FOO20 F11 O11"
>>> import re
>>> regex = re.compile(r"FOO(?:(?!\s*FOO).)*")
>>> regex.findall(s)
['FOO10 F10 O20', 'FOO20 F11 O11']
說明:
FOO # Match FOO
(?: # Start of non-capturing group:
(?!\s*FOO) # Assert that we're not right before (whitespace) FOO
. # Match any character
)* # Repeat as needed
是您的格式總是:'FOOx Fx的Ox'? –