Python编程- 查找ABAC和AABB形式的成语。

Python编程- 查找ABAC和AABB形式的成语。例如: '''绘声绘影、相亲相爱、平平安安、高高兴兴'''

  • 查了一些资料后使用正则表达式来解决会比较容易

     import re #正则表达式的库
     text = '''绘声绘影、相亲相爱、平平安安、高高兴兴'''
     # 从左往右数每一个括号代表了一个正则表达式的子模式,\3代表的是此处匹配的项与子模式3相同,即ABAC
     pattern = r'(((.).\3.)|((.)\5(.)\6))'
     #findall函数作用是返回包含字符串中所有与给定模式匹配的项的列表
     for i in re.findall(pattern,text): 
         print(i[0])
  • 切记切记,进行正规式匹配时,不要被代码习惯误导,一定不要加空格!!!
    python pattern = r'( ( (.).\3. ) | ( (.)\5(.)\6 ) )' #error!!!

踩了不少坑,希望能给大家一些帮助。

猜你喜欢

转载自www.cnblogs.com/Callaway/p/12525988.html