Python regex, matching pattern over multiple lines.. why isn't this working?
parsing, python, regex
Solution
Try `re.findall(r"####(.*?)\s(.*?)\s####", string, re.DOTALL)` (works with `re.compile` too, of course).
This regexp will return tuples containing the number of the section and the section content.
For your example, this will return `[('1', 'ttteest'), ('2', ' \n\nttest')]`.
(BTW: your example won't run, for multiline strings, use `'''` or `"""`)
Problem
I know that for parsing I should ideally remove all spaces and linebreaks but I was just doing this as a quick fix for something I was trying and I can't figure out why its not working.. I have wrapped different areas of text in my document with the wrappers like "####1" and am trying to parse based on this but its just not working no matter what I try, I think I am using multiline correctly.. any advice is appreciated This returns no results at all: ``` string=' ####1 ttteest ####1 ttttteeeestt ####2 ttest ####2' import re pattern = '.*?####(.*?)####' returnmatch = re.compile(pattern, re.MULTILINE).findall(string) return returnmatch ```