我需要在双括号上拆分以空格分隔的TCL列表…例如……
OUTPUT = """{{172.25.50.10:01:01-Ethernet 172.25.50.10:01:02-Ethernet {Traffic Item 1}}} {{172.25.50.10:01:02-Ethernet 172.25.50.10:01:01-Ethernet {Traffic Item 1}}}"""
这应该解析成……
OUTPUT = ["""{{172.25.50.10:01:01-Ethernet 172.25.50.10:01:02-Ethernet {Traffic Item 1}}}""",
"""{{172.25.50.10:01:02-Ethernet 172.25.50.10:01:01-Ethernet {Traffic Item 1}}}"""]
我试过了…
import re
splitter = re.compile('}}\s+{{')
splitter.split(OUTPUT)
然而,修剪中心的牙箍……
['{{172.25.50.10:01:01-Ethernet 172.25.50.10:01:02-Ethernet {Traffic Item 1}',
'172.25.50.10:01:02-Ethernet 172.25.50.10:01:01-Ethernet {Traffic Item 1}}}']
我无法弄清楚如何只分割}} {{之间的空格.我知道我可以手动欺骗并插入缺少的大括号,但我宁愿找到一种简单的方法来有效地解析它.
有没有办法用re.split(或其他一些python解析框架)解析包含{{content here}}的任意数量的以空格分隔的行的OUTPUT?
解决方法:
你可以修改你的正则表达式使用正向前瞻/后面的断言,它不消耗任何字符串:
re.compile('(?<=}})\s+(?={{)')