Python用正则表达式根据格式匹配成语,如:AABB,AABC,ABAC...... 您所在的位置:网站首页 手机号aabb和abbb Python用正则表达式根据格式匹配成语,如:AABB,AABC,ABAC......

Python用正则表达式根据格式匹配成语,如:AABB,AABC,ABAC......

2024-07-04 22:26| 来源: 网络整理| 查看: 265

        代码中使用了 re 模块,这是 Python 的一个内置模块,可以用来处理正则表达式。正则表达式是一种用来匹配字符串的模式,可以用来检查一个字符串是否包含某些子串,或者是否符合某种格式。代码中使用了以下的正则表达式:

((.)\2(.)\3):这个表达式匹配 AABB 型的字符串,即由两个相同的字符和另外两个相同的字符组成的字符串。例如,嘻嘻哈哈,哗哗啦啦等。

代码中的 \1 \2 \3 分别代表正则表达式中的分组,也就是用括号 () 包围的部分。\1 代表第一个分组(就是整个表达式本身),\2 代表第二个分组,\3 代表第三个分组。

import re with open('chengyu.txt', 'r') as f: # 打开文件并读取内容 words = f.read().split() # 将文件内容按空格分割成列表 # 定义不同类型的成语列表,并在第一个元素标明类型 AABB = ['AABB'] pattern_AABB = r'((.)\2(.)\3)' # 定义 AABB 型的正则表达式 AABC = ['AABC'] pattern_AABC = r'((.)\2(.)(.))' # 定义 AABC 型的正则表达式 ABAC = ['ABAC'] pattern_ABAC = r'((.)(.)\2(.))' # 定义 ABAC 型的正则表达式 ABBA = ['ABBA'] pattern_ABBA = r'((.)(.)\3\2)' # 定义 ABBA 型的正则表达式 ABBC = ['ABBC'] pattern_ABBC = r'((.)(.)\3(.))' # 定义 ABBC 型的正则表达式 ABCB = ['ABCB'] pattern_ABCB = r'((.)(.)(.)\3)' # 定义 ABCB 型的正则表达式 for word in words: # 遍历每个词语 if re.match(pattern_AABB, word): # 如果匹配 AABB 型 AABB.append(word) # 将词语添加到 AABB 列表中 elif re.match(pattern_AABC, word): # 如果匹配 AABC 型 AABC.append(word) # 将词语添加到 AABC 列表中 elif re.match(pattern_ABAC, word): # 如果匹配 ABAC 型 ABAC.append(word) # 将词语添加到 ABAC 列表中 elif re.match(pattern_ABBA, word): # 如果匹配 ABBA 型 ABBA.append(word) # 将词语添加到 ABBA 列表中 elif re.match(pattern_ABBC, word): # 如果匹配 ABBC 型 ABBC.append(word) # 将词语添加到 ABBC 列表中 elif re.match(pattern_ABCB, word): # 如果匹配 ABCB 型 ABCB.append(word) # 将词语添加到 ABCB 列表中 print(AABB) # 打印 AABB 列表 print(AABC) # 打印 AABC 列表 print(ABAC) # 打印 ABAC 列表 print(ABBA) # 打印 ABBA 列表 print(ABBC) # 打印 ABBC 列表 print(ABCB) # 打印 ABCB 列表



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有