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

Python正则表达式:如何查找以th开头的单词

如何用正则表达式在词典文本中查找以"th"开头的英文单词?

嘿,刚好之前做密码相关功能时也处理过类似的词典匹配需求,给你一步步说清楚怎么实现~

首先得明确你的词典文件格式——通常像dictionary.txt这种英文词典都是每行存储一个单词的,这种情况下我们的正则写法会更简单:

核心正则表达式

如果只匹配小写"th"开头的单词,用:

^th.*$

如果要同时匹配大写开头的(比如They、Them),可以加上大小写不敏感规则,或者直接写:

^[tT][hH].*$

结合Python的完整实现

这里给你写个可直接用的代码示例,包含文件读取和匹配逻辑:

import re

# 读取词典文件内容
with open('dictionary.txt', 'r', encoding='utf-8') as dict_file:
    dict_content = dict_file.read()

# 匹配所有以th开头的单词(支持多行、大小写不敏感)
# re.MULTILINE 让^匹配每行的开头,而不是整个文本的开头
# re.IGNORECASE 忽略大小写,同时匹配th/Th/TH开头的单词
matched_words = re.findall(r'^th.*$', dict_content, re.MULTILINE | re.IGNORECASE)

# 输出结果
print(f"找到{len(matched_words)}个以th开头的单词:")
for word in matched_words:
    print(word)

特殊情况处理

如果你的词典不是每行一个单词,而是用空格/逗号分隔的连续文本,那就要用单词边界来确保匹配的是完整单词的开头,正则改成:

\bth\w*

对应的Python代码可以用re.findall(r'\bth\w*', dict_content, re.IGNORECASE)来提取所有符合条件的单词。

小提示

  • 如果只需要精确匹配小写"th"开头,去掉re.IGNORECASE参数就行;
  • .*会匹配th后面的任意字符(也就是整个单词),如果你的词典里有带特殊符号的单词,这个写法也能覆盖到。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:50:47