Python

您所在的位置:网站首页 正则匹配括号内的内容 Python

Python

2024-01-30 16:27| 来源: 网络整理| 查看: 265

import re result_list = re.findall(pattern, string[, flags]) 0.引言

        我们都知道在python的re模块中findall函数会作用于整个文本中,搜索所有符合正则表达式的字符串,并将每个符合正则表达式的字符串单独作为一个元素直接封装到列表中返回,这样整个文本中有几个符合正则表达式的字符串列表中包含的元素个数就是几;如果整个文本中没有符合正则表达式的字符串则返回空列表。

        以上情况都是在正则表达式中不含括号的情况下才成立,然而当正则表达式中出现括号后返回值就出现了变化。

1.正则表达式中不包含括号时

        当正则表达式中不包含括号时返回的列表可能情况:①空列表 ②以符合正则表达式的字符串作为元素的列表   测试代码及对应结果截图如下:

1.1正则表达式在整个文本中匹配到0个字符串 import re pattern = r'[A-Z]+\d+' string = 'aa11bb22cc33' result_list = re.findall(pattern, string) print('result_list:',result_list )

        

1.2正则表达式在整个文本中匹配到多个字符串 import re pattern = r'[a-z]+\d+' string = 'aa11bb22cc33' result_list = re.findall(pattern, string) print('result_list:',result_list )

         

 2.正则表达式中包含1个括号时

        当正则表达式中只包含1个括号时返回的列表可能情况:①空列表 ②以符合正则表达式的字符串中处在小括号里的子字符串作为元素的列表    测试代码及对应结果截图如下:

②注:这句话可能有点绕,换句话说就是去文本中匹配时还是用整个正则表达式去匹配,但是这些匹配成功的字符串每个都只提取处在括号里面位置的子字符串,而正则表达式中那些括号外面的字符串只是为了起到定位的作用;当然存在子字符串



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3