在 python re 模块中,我正在使用 re.split()
string = '$aText$bFor$cStack$dOverflow'
parts = re.split(r'\$\w', string)
assert parts == ['Text', 'For', 'Stack', 'Overflow']
我的问题:是否可以同时返回分隔符的实例作为部分列表?我想知道各个部分之前的分隔符是否为 $c、$d 等。
我想我可以先进行 findall() 调用,但这意味着手动调用列表中的位置,这会引入错误。这看起来也不是很 pythonic。
请您参考如下方法:
如果将模式放在捕获组中,分隔符将出现在结果中:
>>> string = '$aText$bFor$cStack$dOverflow'
>>> re.split(r'(\$\w)', string)
['', '$a', 'Text', '$b', 'For', '$c', 'Stack', '$d', 'Overflow']
