我有一个文本:正则表达式匹配单词和结尾的空白对
" Alice, Bob Charlie "
,我想它后获得的词对(如果有的话)和空白。那就是:
[("", " "), ("Alice,", " "), ("Bob", " "), ("Charlie", " ")]`
在Python,我想:
re.findall(r"(\S*)(\s*)", " Alice, Bob Charlie ")
几乎工程 - 它只是增加了一对空("", "")
末。如何摆脱它?除了.pop()?另外,我真的不明白为什么它在那里 - 在匹配查理的空白之后,它应该完成,不是吗?
编辑:澄清 - 我想第一对,即没有一些空白的单词。最后一个 - 没有词,没有空白 - 是我想摆脱的那个。如果没有.pop(),可能...
'*'表示匹配_zero或more_,所以一个空字符串相匹配。仅仅因为你有两次并不意味着它们不会匹配空字符串。 – agf