파이썬에서 regex를 사용하여 문자열에서 일치하는 문자열을 찾으려고합니다. string
은 다음과 같습니다python regex 일치하는 문자열 찾기
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
내 목표는 tot
후 문자열을 찾는 것입니다. 여기
['0.000 0.996 0.000 0.996',
'0.000 0.996 0.000 0.996']
내 현재 코드 :
pattern = re.compile(r'tot\s+(.*?)\n', re.DOTALL)
pattern.findall(string)
그러나, 출력이 날 제공 : 그래서 일치하는 문자열 뭔가처럼 될 것
['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']
내가 뭐하는 거지의 어떤 생각 잘못된?
이 내 문제를 해결합니다. 나는 DOTALL과 MUTILINE에 대해 혼란 스럽다고 생각한다. 그것에 대해 더 많이 읽어야합니다. –