Python 正则表达式匹配任何特殊字符和换行符
我正在尝试解码一个包含Protobuf编码数据(可能包含新行、特殊字符等)的多行二进制文件。该文件包含用于分割每个数据序列的特殊字符。 分隔符是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可以
####
,我将类似“###”+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']