Skip to main content
 首页 » 编程设计

python之正则表达式 : re. findall() for set of all alphabetic words

2025年05月04日28thcjp

我正在尝试使用 re.findall() 函数来测试包含一组所有字母单词的句子。这是我的代码:

import re 
s = 'Hello from the other side' 
lst = re.findall('[:alpha:]', s) 
print (lst) 

关于如何更改代码有什么建议吗?

请您参考如下方法:

Python 不支持 POSIX :alpha:。改为这样写:

re.findall(r'[A-Za-z]+', s) 

避免使用 \w+,它除了字母字符外还接受下划线和数字。 \w+ 唯一真正的优势是它与 re.LOCALE 标志。

当我解析自然句子以提取整个单词时,我通常会扩展允许的字符以也允许连字符和撇号:

re.findall(r"[A-Za-z\-\']+", s) 

这将接受“不要”、“重新发明”和“死胡同”等词,但会拒绝数字、下划线、空格、引号和其他标点符号。