我知道进行解析时,我应该理想地删除所有空格和换行符,但是我只是为了快速解决此问题,所以不知道为什么它不起作用。带有“ #### 1”之类的包装器的文档,并尝试基于此进行解析,但是无论我尝试如何,它都无法正常工作,我认为我正确地使用了多行。
这根本不会返回任何结果:
string=' ####1 ttteest ####1 ttttteeeestt ####2 ttest ####2' import re pattern = '.*?####(.*?)####' returnmatch = re.compile(pattern, re.MULTILINE).findall(string) return returnmatch
尝试re.findall(r"####(.*?)\s(.*?)\s####", string, re.DOTALL)(re.compile当然也可以)。
re.findall(r"####(.*?)\s(.*?)\s####", string, re.DOTALL)
re.compile
此正则表达式将返回包含节号和节内容的元组。
对于您的示例,这将返回[('1', 'ttteest'), ('2', ' \n\nttest')]。
[('1', 'ttteest'), ('2', ' \n\nttest')]
(顺便说一句:您的示例无法运行,对于多行字符串,请使用'''或""")
'''
"""