前言
本人第一次写博客,欢迎指出不足。
代码
今天做python作业,发现很多文章不能很好地解决匹配ABAC型的词语,例如:
patten =r'((.).\2.)'
除了能匹配ABAC的词语外还会匹配AAAA,ABAB等词语,找了很久没找到合适的patten(菜 π ⋅ π \pi{ \cdot }\pi π⋅π),最后用改变待匹配的文本的方式解决。
// An highlighted block
import re
text = '''行尸走肉、金蝉脱壳、百里挑一、金玉满堂、
背水一战、霸王别姬、天上人间、不吐不快、海阔天空、
情非得已、满腹经纶、兵临城下、春暖花开、插翅难逃、
黄道吉日、天下无双、偷天换日、两小无猜、卧虎藏龙、
珠光宝气、簪缨世族、花花公子、绘声绘影、国色天香、
相亲相爱、八仙过海、金玉良缘、掌上明珠、皆大欢喜、
浩浩荡荡、平平安安、秀秀气气、斯斯文文、高兴高兴'''
print("ABAC形式的词语:", list(i[0] for i in re.findall(r"((.)(.)\2.)", re.sub(r"((.)(.)\2\3)", r'\3', text))))
相关的参考资料。