Skip to main content
 首页 » 编程设计

python之在 Python 正则表达式 split() 中访问定界符

2025年05月04日26zlslch

在 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']