You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用re模块匹配仅由纯字母组成的单词结果不符合预期如何解决?

正则匹配错误原因与正确实现

各写法问题分析

  • word1匹配失败原因:Python普通字符串中\b是代表退格的转义字符,不会被识别为正则语法中的单词边界,因此无法命中任何符合要求的内容。
  • word2匹配失败原因:正则中的^、$分别代表整个字符串的开头、结尾,该写法只有在整个字符串完全由纯英文字母组成时才会返回结果,和需求场景不符。
  • word3匹配结果不符合预期原因:\w的匹配范围包含大小写字母、数字、下划线,因此会把纯数字、混合字母数字的内容也一并提取,不符合仅提取纯英文字母单词的要求。

正确代码

import re

string1= "This is a nice day - 23 Sep 2019 Oct2021"
# 正则字符串前加r标记为原始字符串,保证\b被识别为单词边界
result = re.findall(r'\b[a-zA-Z]+\b', string1)
print(result)

运行后输出为期望结果:['This', 'is', 'a', 'nice', 'day', 'Sep']


内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:36:02