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

Python正则表达式:匹配含5个连续辅音的单词

Python正则表达式匹配含5个连续辅音的单词

Got it!要写一个Python正则表达式来匹配包含5个连续辅音的单词,其实思路很清晰,我一步步给你拆解:

核心思路

首先明确:辅音指的是非元音字母(元音是a/e/i/o/u,兼顾大小写的话加上A/E/I/O/U)。我们需要找到单词中存在至少一段连续5个这类字符的情况。

最终正则表达式

如果你的单词仅由大小写字母组成,这个正则就够用:

r'\b[a-zA-Z]*[^aeiouAEIOU]{5}[a-zA-Z]*\b'

逐部分解释

  • \b:单词边界,确保我们匹配的是完整的单词,而不是长字符串里的片段(比如不会误匹配"abcxyz123"里的非单词片段)
  • [a-zA-Z]*:匹配任意数量的大小写字母(0个或多个),用来覆盖连续辅音序列前面的部分
  • [^aeiouAEIOU]{5}:匹配恰好5个连续的非元音字母(也就是辅音),[^...]表示排除括号内的字符,{5}指定重复次数
  • [a-zA-Z]*:覆盖连续辅音序列后面的部分

Python代码示例

把这个正则用起来测试你的示例单词:

import re

# 定义匹配规则
consonant_pattern = r'\b[a-zA-Z]*[^aeiouAEIOU]{5}[a-zA-Z]*\b'

# 测试用例
test_words = ["tnortvcvni", "kahjdflka", "peanut", "butter", "jelly"]

# 执行匹配
matched_words = [word for word in test_words if re.fullmatch(consonant_pattern, word)]

print("符合条件的单词:", matched_words)
# 输出:符合条件的单词: ['tnortvcvni', 'kahjdflka']

自定义调整选项

如果有特殊需求,你可以这样修改正则:

  • 只匹配小写单词:把正则改成 r'\b[a-z]*[^aeiou]{5}[a-z]*\b'
  • 不把字母Y/y当作辅音(比如有些场景里y算半元音):调整排除项为 [^aeiouyAEIOUY]
  • 允许单词包含连字符等特殊字符:把[a-zA-Z]替换成[a-zA-Z-](根据你的需求添加允许的字符)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:00:27