Skip to main content
 首页 » 编程设计

python之用于匹配单词和尾随空格对的正则表达式

2025年05月04日31小虾米

我有一条短信:

"    Alice, Bob    Charlie  " 

我想得到成对的单词(如果有的话)和它后面的空格。即:

[("", "    "), ("Alice,", " "), ("Bob", "    "), ("Charlie", "  ")]` 

在 Python 中,我试过:

re.findall(r"(\S*)(\s*)", "    Alice, Bob    Charlie  ") 

这几乎可以工作 - 它只是在末尾添加了一个空对 ("", "") 。如何摆脱它?除了 .pop()?另外,我真的不明白为什么它会在那里 - 在它匹配查理的空格后它应该结束,不是吗?

编辑:澄清一下——我想要第一对,即没有带空格的词。最后一个 - 没有字,没有空格 - 是我想要摆脱的那个。如果没有 .pop(),可能...

请您参考如下方法:

我觉得这样就可以了

re.findall('(\S+|^)(\s*)', s)