使用正则表达式在二进制文件中拆分1和0



我需要在任何像这样的二进制表示中拆分1和0。

code = 10001100
output_list = [1,000,11,00]

我找不到图案。我正在使用python3.x

对于这个问题,您实际上并不需要正则表达式。您可以使用itertools中的groupby来执行以下操作:

import itertools
code = "10001100"
gs = [list(g) for _, g in itertools.groupby(code)]

如果您想使用regex,那么:

import re
code = r'10001100'
output_list = re.findall(r'(0+|1+)', code)

regex不是必需的。这是一种蟒蛇般的方法:

code = '10001100'
output_list = []
interim_list = [code[i] + ',' if i != len(code)-1 and code[i] != code[i+1] else code[i] for i in range(len(code))]
output_list.append(''.join(interim_list))
print(output_list)
>>> print(output_list)
['1,000,11,00']

最新更新