【发布时间】:2011-05-16 13:12:41
【问题描述】:
使用正则表达式计算文档中英文单词的正确方法是什么?
我试过了:
words=re.findall('\w+', open('text.txt').read().lower())
len(words)
但我似乎遗漏了几个字(与 gedit 中的字数相比)。 我做得对吗?
非常感谢!
【问题讨论】:
-
我建议您尝试找出您错过了哪些单词。您应该能够改进您的正则表达式以包含此类单词。
-
不应该是
\\w+还是这是故意的? -
@Constantinius: 可能应该是
'\\w+'或r'\w+'要清楚,但\w不是Python 字符串中已知的转义序列,所以'\w+'被解释为文字反斜杠-w-plus。 -
重新阅读这个问题。 “英语单词”,你说?您是否正在对照已知的“英语单词”词典进行验证?你会把那些从法语和其他语言借来的东西扔掉吗?
-
感谢 cmets 的各位! @Johnsyweb 那是因为我的母语是中文,我应该只写“单词”:)