我正在尝试拆分字符串而不删除分隔符并且无法执行此操作。我要拆分的字符串是:
'+ {- 9 4} {+ 3 2}'
我希望最终得到
['+', '{- 9 4}', '{+ 3 2}']
然而,我尝试过的一切都没有奏效。我正在浏览这个stackoverflow帖子以获取答案以及google:Python split() without removing the delimiter
谢谢!
答案 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,你需要处理嵌套表达式