python - 拆分字符串而不删除分隔符

时间:2013-05-16 04:25:51

标签: python regex

我正在尝试拆分字符串而不删除分隔符并且无法执行此操作。我要拆分的字符串是:

'+ {- 9 4} {+ 3 2}'

我希望最终得到

['+', '{- 9 4}', '{+ 3 2}']
然而,我尝试过的一切都没有奏效。我正在浏览这个stackoverflow帖子以获取答案以及google:Python split() without removing the delimiter

谢谢!

1 个答案:

答案 0 :(得分:4)

re.split将在捕获时保留分隔符,即括在括号中:

import re
s = '+ {- 9 4} {+ 3 2}'
p = filter(lambda x: x.strip() != '', re.split("([+{} -])", s)) 

会给你

['+', '{', '-', '9', '4', '}', '{', '+', '3', '2', '}']

,IMO,你需要处理嵌套表达式