最近整理一个成语数据库,初步想整理出成语的结构,比如:aabb、aabc、abcc、abca等。。测试了很过次,发现mysql8.0以上可以匹配。以下是几个例子:
1、连续两个相同的汉字,比如匹配aabb型、aabc型、abcc型成语:
SELECT * FROM yesoulchenyu where ChengYu REGEXP '([一-龥])\\1'
2、间隔一个汉字,比如匹配abac型、abcb型成语:
SELECT * FROM yesoulchenyu where ChengYu REGEXP '([一-龥])[一-龥]\\1'
3、间隔2个汉字,比如匹配abca型成语:
SELECT * FROM yesoulchenyu where ChengYu REGEXP '([一-龥])[一-龥][一-龥]\\1'