[图解]Python用正则表达式匹配ABAC和AABB的词语

您所在的位置:网站首页 aba一的词语 [图解]Python用正则表达式匹配ABAC和AABB的词语

[图解]Python用正则表达式匹配ABAC和AABB的词语

2024-07-15 19:48| 来源: 网络整理| 查看: 265

#这几天看到有网友在问这个问题,我翻找了下资料,很多讲的不是特别的明白,所以我稍微改了下,希望能帮到有需要的人from re import findall text = '''行尸走肉、金蝉脱壳、百里挑一、金玉满堂、 背水一战、霸王别姬、天上人间、不吐不快、海阔天空、 情非得已、满腹经纶、兵临城下、春暖花开、插翅难逃、 黄道吉日、天下无双、偷天换日、两小无猜、卧虎藏龙、 珠光宝气、簪缨世族、花花公子、绘声绘影、国色天香、 相亲相爱、八仙过海、金玉良缘、掌上明珠、皆大欢喜、 浩浩荡荡、平平安安、秀秀气气、斯斯文文、高高兴兴''' print("全部词语: ", text) pattern = r'(((.).\3.)|((.)\5(.)\6))' print("匹配ABAC和AABB的词语:", list(i[0] for i in findall(pattern, text))) #得到结果如下:全部词语: 行尸走肉、金蝉脱壳、百里挑一、金玉满堂、 背水一战、霸王别姬、天上人间、不吐不快、海阔天空、 情非得已、满腹经纶、兵临城下、春暖花开、插翅难逃、 黄道吉日、天下无双、偷天换日、两小无猜、卧虎藏龙、 珠光宝气、簪缨世族、花花公子、绘声绘影、国色天香、 相亲相爱、八仙过海、金玉良缘、掌上明珠、皆大欢喜、 浩浩荡荡、平平安安、秀秀气气、斯斯文文、高高兴兴 匹配ABAC和AABB的词语: ['不吐不快', '绘声绘影', '相亲相爱', '浩浩荡荡', '平平安安', '秀秀气气', '斯斯文文', '高高兴兴']

 

详解见下图,不同子项的组成,使“|”前面形成了ABAC,后面形成了ABAB。而“|”为“或”的意思,所以达到了筛选ABAC或AABB的词语的效果。(PS:其实“|”左边的B和C是“.”,所以也可能为AAAC,ABAA,但是只有的成语很少吧)

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3