我正试着把一个字符串分成一个列表。它几乎可以工作,但由于某种原因,它在开头和结尾都会产生一个额外的空白列表元素
line = "A12B1234123456 Misc text"
re.split('^([A-H])(\d{2})?([A-Z])?(\d{4})?(\d{6})?\t(.*)$', line)
['', 'A', '12', 'B', '1234', '123456', 'Misc text', '']
我在期待['A', '12', 'B', '1234', '123456', 'Misc text']
为什么会发生这种情况,我怎样才能防止呢
因为您基本上使用的是split,它使用regex作为分隔符,将字符串分成几个部分
我认为您需要的是匹配正则表达式中选定的组:
我想这是你期待的清单
正则表达式是正确的,但不要使用
re.split
打印匹配项使用
re.findall
打印所有匹配项(捕获的组):相关问题 更多 >
编程相关推荐