数据如下
230030215840▒Cumul Arte▒pl▒PROGRAMME_WEB▒SCI_nauka▒075631-005-A▒TV▒1
230030215840▒Cumul Arte▒pl▒PROGRAMME_WEB▒SCI_nauka▒075631-006-A▒TV▒1
我想把075631-006-A分成
...▒075631-006-A▒075631-006▒A▒...
这意味着要添加两列。 我的想法是首先检查是否存在这样的字符串
searchObj=re.search("(\d{6}-\d{3})-([A-Z])",data,flags=0)
if searchObj>0: #On trouve un EM
然后用searchObj.groups做一个sub,但是我做不到
使用嵌套组:用另一个paren组包装整个子字符串,将其更像是“原子”的东西,并保留您开始使用的paren组以匹配零件:
这样,如果整个类似
075631-006-A
的子字符串不存在,则MatchObject将为None,从而引发错误:然后,更完整的解决方案如下所示:
希望这有帮助
编辑 另一种变体是使用非捕获paren组。根据你的口味,它增加或减少清晰度-切片
[1:]
是不需要的,但同时你使用这个时髦的(?:....)
regexp syntax:有一种方法:
expand documentation解释了如何使用它来利用匹配的组
相关问题 更多 >
编程相关推荐