正则表达式前加r是为了不转义反斜杠后的字符,\3代表此处重复出现子模式3
from re import findall text = '''行尸走肉、金蝉脱壳、百里挑一、金玉满堂、 背水一战、霸王别姬、天上人间、不吐不快、海阔天空、 情非得已、满腹经纶、兵临城下、春暖花开、插翅难逃、 黄道吉日、天下无双、偷天换日、两小无猜、卧虎藏龙、 珠光宝气、簪缨世族、花花公子、绘声绘影、国色天香、 相亲相爱、八仙过海、金玉良缘、掌上明珠、皆大欢喜、 浩浩荡荡、平平安安、秀秀气气、斯斯文文、高高兴兴''' print("全部词语: ", text) pattern = r'(((.).\3.)|((.)\5(.)\6))' print("匹配ABAC和AABB的词语:", list(i[0] for i in findall(pattern, text)))