在Python正则表达式split()中访问分隔符

2024-10-03 11:16:17 发布

您现在位置:Python中文网/ 问答频道 /正文

在python re模块中,我使用re.split()

string = '$aText$bFor$cStack$dOverflow'
parts = re.split(r'\$\w', string)
assert parts == ['Text', 'For', 'Stack', 'Overflow']

我的问题是:是否可以同时返回分隔符的实例作为部件列表?我想知道分隔符是否在各个部分前面是$c,$d等

我想我可以先执行findall()调用,但这意味着手动调用列表中的位置,这会引入bug。这看起来也不太像Python


Tags: 模块textre列表forstringstackassert
1条回答
网友
1楼 · 发布于 2024-10-03 11:16:17

如果将模式放入捕获组,则分隔符将显示在结果中:

>>> string = '$aText$bFor$cStack$dOverflow'
>>> re.split(r'(\$\w)', string)
['', '$a', 'Text', '$b', 'For', '$c', 'Stack', '$d', 'Overflow']

相关问题 更多 >