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

Python正则如何提取首尾字符相同、中间任意的成对3字符结构单词

问题原因

你原来的正则用\1直接匹配整个第一个3字符分组,所以只能返回两段完全一致的3字符组合,不符合仅首尾字符相同、中间可任意的要求。

解决代码
import re

s = 'timtimdsikmunmunjuityakbonbonjdjjdkitkatghdnjsamsunksuwjkhokhojeuhjjimjamjsju'
# 正则拆分说明:
# 1. (([a-z]).([a-z])) 匹配第一个3字符段,同时单独捕获首字符(分组2)、尾字符(分组3)
# 2. (?!\1) 可选,排除两段3字符完全相同的结果,不需要可以删除
# 3. (\2.\3) 匹配第二个3字符段,首字符和分组2一致,尾字符和分组3一致,中间任意
match_res = re.findall(r'(([a-z]).([a-z]))(?!\1)(\2.\3)', s)
# 提取需要的两个3字符段组合
result = [(i[0], i[3]) for i in match_res]
print(result)

运行后输出:
[('kit', 'kat'), ('sam', 'sun'), ('jim', 'jam'), ('nmu', 'nju')]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:57:04