Mik*_*ton 5 python regex parsing tcl
我需要在双大括号上拆分以空格分隔的 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}}}"""
Run Code Online (Sandbox Code Playgroud)
这应该解析为...
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}}}"""]
Run Code Online (Sandbox Code Playgroud)
我试过了...
import re
splitter = re.compile('}}\s+{{')
splitter.split(OUTPUT)
Run Code Online (Sandbox Code Playgroud)
然而,这会修剪中心的大括号......
['{{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}}}']
Run Code Online (Sandbox Code Playgroud)
我不知道如何只在}} {{. 我知道我可以作弊并手动插入缺失的大括号,但我宁愿找到一种简单的方法来有效地解析它。
有没有一种方法来解析OUTPUT与re.split(或其他Python解析框架)含空格分隔行任意数量的{{content here}}?
您可以修改正则表达式以使用正向前行/后向断言,这不会消耗任何字符串:
re.compile('(?<=}})\s+(?={{)')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1502 次 |
| 最近记录: |