我有下面这根弦.我想对此进行标记化,以便匹配的花括号和非匹配的组都有
str='{field1}somestring{field2}somestring2{feild3}<somestring3>'
我知道我可以用以下命令来表示花括号:
re.findall('({[^}]*})', str)
['{field1}', '{field2}', '{feild3}']
但我真正想要的是:
['{field1}', 'somestring', '{field2}', 'somestring2', '{feild3}', '<somestring3>']
我在做这件事上有困难……到目前为止,我最接近的情况是
re.findall('(.*?)({[^}]*})(.*?)', str)
[('', '{field1}', ''), ('somestring', '{field2}', ''), ('somestring2', '{feild3}', '')]
但是您可以看到,它创建了一个由三个组组成的空字符串数组,最后一个令牌<somestring3>
没有被标记化.
如有任何帮助,我们将不胜感激