【发布时间】:2021-10-15 02:34:13
【问题描述】:
我只是为了找到一个句子中的所有单词。我尝试了以下方法,但不起作用。谢谢
import re
string1= "This is a nice day - 23 Sep 2019 Oct2021"
word1=re.findall('\b[a-zA-Z]+\b', string1, flags=0)
word2=re.findall('^[a-zA-Z]+$', string1, flags=0)
word3=re.findall('\w+', string1, flags=0)
print(word1) --> []
print(word2) --> []
print(word3) --> ['This', 'is', 'a', 'nice', 'day', '23', 'Sep', '2019', 'Oct2021']
期望的结果
['This', 'is', 'a', 'nice', 'day', 'Sep']
【问题讨论】:
-
假设您的语言不使用变音符号,您似乎正在尝试匹配
[a-zA-Z]+\b。您的问题是字符串前面没有r,导致 `` 看起来像转义符 -
@Grismar 好吧,我想应该是
\b[a-zA-Z]+\b而不是[a-zA-Z]+\b。 -
这不是必需的,@MartesBerkeley - 无论如何它都会从第一个字母开始匹配。