python – RegEx将文本字符串拆分为dict作为组
发布时间:2020-12-20 13:08:37 所属栏目:Python 来源:网络整理
导读:我正在尝试RegEx字符串输出并作为一组文本添加到字典中,我正在使用re.split(). 我的字符串输出是: mpathag (36005076801b2014804000000000001cd) dm-7 Test,2145size=488G features='1 queue_if_no_path' hwhandler='0' wp=rw|-+- policy='service-time 0'
我正在尝试RegEx字符串输出并作为一组文本添加到字典中,我正在使用re.split().
我的字符串输出是: mpathag (36005076801b2014804000000000001cd) dm-7 Test,2145 size=488G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 12:0:1:3 sdas 66:192 active ready running | `- 13:0:1:3 sdbi 67:192 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 12:0:0:3 sdak 66:64 active ready running `- 13:0:0:3 sdba 67:64 active ready running mpathz (36005076801b2014804000000000001c4) dm-0 Test,2145 size=488G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 12:0:0:0 sdah 66:16 active ready running | `- 13:0:0:0 sdax 67:16 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 10:0:0:0 sdb 8:16 active ready running `- 13:0:1:0 sdbf 67:144 active ready running 这是我的解析代码: output = "mpathag (36005076801b2014804000000000001cd) dm-7 Test,2145 size=488G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 12:0:1:3 sdas 66:192 active ready running | `- 13:0:1:3 sdbi 67:192 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 12:0:0:3 sdak 66:64 active ready running `- 13:0:0:3 sdba 67:64 active ready running mpathz (36005076801b2014804000000000001c4) dm-0 Test,2145 size=488G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 12:0:0:0 sdah 66:16 active ready running | `- 13:0:0:0 sdax 67:16 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 10:0:0:0 sdb 8:16 active ready running `- 13:0:1:0 sdbf 67:144 active ready running" devices = re.split('mpath',output) for dev in devices: print dev 我的问题是re.split从文本中删除模式,它可能拆分而不删除分隔符? 输出结果如下: ag (36005076801b2014804000000000001cd) dm-7 Test,2145 size=488G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 12:0:1:3 sdas 66:192 active ready running | `- 13:0:1:3 sdbi 67:192 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 12:0:0:3 sdak 66:64 active ready running `- 13:0:0:3 sdba 67:64 active ready running 解决方法
如果模式包含捕获组,则不会排除该组:
>>> re.split(',','1,2,3') # without capturing group ['1','2','3'] >>> re.split('(,)',3') # with capturing group ['1','3'] >>> xs = re.split('(,3') >>> [part1+part2 for part1,part2 in zip(xs[1::2],xs[2::2])] [',2',3'] devices = re.split('(mpath)',output) for part1,part2 in zip(devices[1::2],devices[2::2]): print part1 + part2 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python-2.7 – ImportError:无法导入名称api – 在centos
- 相对地将python pandas列递减至另一列
- python – 在scikit-learn中保存新数据的特征向量
- Python实现简单文本字符串处理的方法
- 在Linux(CentOS)的Python中获取负载或getloadavg()在较短的
- python实现微信接口(itchat)详细介绍
- python – 针对.pyc文件的编译器?
- python – ImportError:没有名为visual的模块
- python – 获取Google App Engine平台中服务器文件夹中的静
- python – 在其他客户端上的buildbot中执行buildsteps