如何使用re.search查找完整单词?

2 投票
1 回答
1401 浏览
提问于 2025-04-16 02:57

我有一个由不同HTML页面生成的单词列表。我不想一个规则一个规则地去剔除不同的元素,而是想遍历这个列表,检查如果不是只包含字母的完整单词,就跳过它。可是这样做不太成功。

for w in words:
     if re.search('\b[a-zA-Z]\b', w) == None:
          continue

我对正则表达式非常不擅长(如果你能看出来的话!),所以我需要一些帮助。我该怎么写才能检查每个w,确保它只包含a-z和A-Z的字母呢?

1 个回答

3

你快到了。你只需要告诉你的搜索去匹配一个完整的字符串,长度是1个或多个字符。

for w in words:
     if re.search('^[a-zA-Z]+$', w) == None:
          continue

另外一个解决办法(至少对于这个特定情况)是使用 isalpha()

for w in words:
    if not w.isalpha():
          continue

撰写回答