Ich versuche, die übereinstimmende Zeichenfolge in einer Zeichenfolge mithilfe von Regex in Python zu finden. Die string
sieht wie folgt aus:python regex übereinstimmende Zeichenfolge finden
band 1 # energy -53.15719532 # occ. 2.00000000
ion s p d tot
1 0.000 0.995 0.000 0.995
2 0.000 0.000 0.000 0.000
tot 0.000 0.996 0.000 0.996
band 2 # energy -53.15719532 # occ. 2.00000000
ion s p d tot
1 0.000 0.995 0.000 0.995
2 0.000 0.000 0.000 0.000
tot 0.000 0.996 0.000 0.996
band 3 # energy -53.15719532 # occ. 2.00000000
Mein Ziel ist es, die Zeichenfolge nach tot
zu finden. So wird das angepasste String so etwas wie:
['0.000 0.996 0.000 0.996',
'0.000 0.996 0.000 0.996']
Hier ist mein aktueller Code:
pattern = re.compile(r'tot\s+(.*?)\n', re.DOTALL)
pattern.findall(string)
jedoch der Ausgang gibt mir:
['1 0.000 0.995 0.000 0.995',
'0.000 0.996 0.000 0.996',
'1 0.000 0.995 0.000 0.995',
'0.000 0.996 0.000 0.996']
Jede Idee von dem, was ich tue, falsch?
Das ist mein Problem löst. Ich denke, ich bin verwirrt über 'DOTALL' und' MUTILINE'. Muss mehr darüber lesen. –