我需要使用以下代码拆分字符串:

import re
x = re.split(r"(?<=,)","a,b,c,")
print x


输出看起来像这样:

['a,b,c,']


我期望的是:

['a,','b,','c,']


更新资料

我使用答案:findall中的解决方案

我需要拆分新行(LF,0x0a)

import re
a = '''aaaa
bbbb
cccc
'''
x = re.findall(r"[^%s]+%s" % (0x0a,0x0a),a,re.DOTALL)
print x


结果是:

[]


期望的是:

['aaaa\n','bbbb\n','cccc\n']

最佳答案

在python中,默认re.split函数不会在零宽度边界上进行分割。因此,请改用re.findall

re.findall(r'\w+,', s)


更新:

>>> a = '''aaaa
bbbb
cccc
'''
>>> re.findall(r".+\n?", a)
['aaaa\n', 'bbbb\n', 'cccc\n']

关于python - 正则表达式拆分的Python后面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34488075/

10-10 18:21
查看更多