[英]Python Regex Named Groups
我正在尝试解决分裂后跟字符串的问题
[@x arg-xa, arg. xb, arg xc @y arg-ya, arg. yb, arg yc @z arg-za, arg. zb, arg zc]
到某种结构化的dict对象。 如下列表的结果将不胜感激:
[
{
'command': 'x',
'args': ['arg-xa', 'arg. xb', 'arg xc']
},
{
'command': 'y',
'args': ['arg-ya', 'arg. yb', 'arg yc']
}
{
'command': 'z',
'args': ['arg-za', 'arg. zb', 'arg zc']
}
]
该命令带有“@”符号前缀,该命令的以下参数由“,”符号分隔。 用string.split('@')分割字符串和一些循环可以工作,但我想知道是否有可能用一个正则表达式来解决这个问题。
也许一些正则表达的大师会如此善良并向我展示光明!
一如既往,非常感谢。 (我用过搜索,但还没找到解决这类问题的方法)
我只是使用.split()
并剪切字符串:
import string
s = '@x arg-xa, arg. xb, arg xc @y arg-ya, arg. yb, arg yc @z arg-za, arg. zb, arg zc'
result = []
for part in s.split('@')[1:]: # `[1:]` skips the first (empty) element
command, _, arguments = part.partition(' ')
result.append({
'command': command,
'args': map(string.strip, arguments.split(', '))
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.