Python 正则表达式匹配任何特殊字符和换行符

Python 正则表达式匹配任何特殊字符和换行符,python,regex,Python,Regex,我正在尝试解码一个包含Protobuf编码数据(可能包含新行、特殊字符等)的多行二进制文件。该文件包含用于分割每个数据序列的特殊字符。 分隔符是####,我将类似“###”+data的数据写入文件。 假设此输入: ###AB CD###EFGHI###J KLM 我需要输出像[“AB\nCD”,“EFGHI”,“J\nKLM”]。我用flags=re.MULTILINE | re.DOTALL尝试了^###(.*)$模式,但没有按预期工作。我不确定您是否需要re为此,常规str.split可以

我正在尝试解码一个包含Protobuf编码数据(可能包含新行、特殊字符等)的多行二进制文件。该文件包含用于分割每个数据序列的特殊字符。 分隔符是
####
,我将类似
“###”+data
的数据写入文件。 假设此输入:

###AB
CD###EFGHI###J
KLM

我需要输出像
[“AB\nCD”,“EFGHI”,“J\nKLM”]
。我用
flags=re.MULTILINE | re.DOTALL
尝试了
^###(.*)$
模式,但没有按预期工作。

我不确定您是否需要
re
为此,常规
str.split
可以:

>>> text = '''###AB
    CD###EFGHI###J
    KLM'''

>>> list(filter(bool, text.split('###')))
['AB\nCD', 'EFGHI', 'J\nKLM']
如果您希望各种特殊字符的数量可变:

>>> list(filter(bool, re.split(r'[^\s\w]+', text)))
['AB\nCD', 'EFGHI', 'J\nKLM']