python正则表达式02--findall()和search()方法区别,group()方法

import re

st = ‘asxxixxsaefxxlovexxsdwdxxyouxxde‘

#search()和 findall()的区别

a = re.search(‘xx(.*?)xxsaefxx(.*?)xxsdwdxx(.*?)xx‘,st)
#print(a)
#运行结果
#<_sre.SRE_Match object; span=(2, 30), match=‘xxixxsaefxxlovexxsdwdxxyouxx‘>

#group()方法
b = re.search(‘xx(.*?)xxsaefxx(.*?)xxsdwdxx(.*?)xx‘,st).group(3)
print(b)
#运行结果
#you

c = re.findall(‘xx(.*?)xxsaefxx(.*?)xxsdwdxx(.*?)xx‘,st)
print(c)

#结果中列表中包含一个元组,只有待匹配字符串中还有
#‘xx(.*?)xxsaefxx(.*?)xxsdwdxx(.*?)xx‘
#这种格式的才会有不止一个元组

#运行结果
#[(‘i‘, ‘love‘, ‘you‘)]

print(c[0][2])
#运行结果
#you

原文地址:https://www.cnblogs.com/chillytao-suiyuan/p/9073627.html

时间: 2024-10-08 04:35:51

python正则表达式02--findall()和search()方法区别,group()方法的相关文章

python正则表达式函数match()和search()的区别详解

match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none 例如: #! /usr/bin/env python # -*- coding=utf-8 -*- import re text = 'pythontab' m = re.ma

python正则表达式(5)--findall、finditer方法

findall方法 相比其他方法,findall方法有些特殊.它的作用是查找字符串中所有能匹配的字符串,并以结果存于列表中,然后返回该列表 注意: match 和 search 是匹配一次 findall 匹配所有. 1 pattern.findall方法 该方法的作用是在string[pos, endpos]区间从pos下标处开始查找所有满足pattern的子串, 直到endpos位置结束,并以列表的形式返回查找的结果,如果未找到则返回一个空列表. 语法格式: pattern.findall(

python学习:python中的正则表达式函数match和search()的区别

match函数 binary_re='[01]*' pattern = re.compile(binary_re) m=re.match(binary_re,destStr) if m:      print m.group(0) else:     print 'not match' match函数是从字符串起始位置开始进行匹配,匹配失败返回None,匹配成功的话, m.group(0)为匹配的结果 2.search函数 binary_re='[01]*' pattern = re.compi

Python正则表达式之findall疑点

在findall中使用()进行分组时,得出的结果会优先提取分组的,比如下面这个例子 1 In [46]: re.findall(r"www.(baidu|163).com", "www.baidu.com") 2 Out[46]: ['baidu'] 我们如何实现得出的结果是www.baidu.com呢 实现的方法是在分组的开头加上"?:" 1 In [47]: re.findall(r"www.(?:baidu|163).com&qu

Python正则表达式符号与方法

导入re库文件 import re from re import findall,search,S secret_code = 'hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse'   #红色为待带抓取内容 .的使用举例 a = 'xy123' b = re.findall('x...',a) print b          #执行后返回xy12,x...中"."代表占位符,几个点就取x后几位 *的使用举例 a = 'xy

Python 正则表达式 利用括号分组

如果想把区号从匹配的电话号码中分离,可以添加括号在正则表达式中创建分组,再使用group()方法,从一个分组中获取匹配的文本 正则表达式字符串中,第一个括号是第一组,第二个括号是第二组.向group()方法传入参数1或2,可以获得匹配文本中的不同部分,传入0或者不传参数,将返回整个匹配的文本 >>> import re>>> m=re.search(r'(\d{3})-(\d{3}-\d{4})','My phone number is 012-239-4597')&g

40 python 正则表达式 match方法匹配字符串 使用search函数在一个字符串中查找子字

第一课: 使用match方法匹配字符串 # 正则表达式:使用match方法匹配字符串 ''' 正则表达式:是用来处理文本的,将一组类似的字符串进行抽象,形成的文本模式字符串 windows dir *.txt file1.txt file2.txt abc.txt test.doc a-file1.txt-b linux/mac ls 主要是学会正则表达式的5方面的方法 1. match:检测字符串是否匹配正则表达式 2. search:在一个长的字符串中搜索匹配正则表达式的子字符串 3. fi

python正则表达式(4)--search方法

摘自:https://www.cnblogs.com/zeke-python-road/p/9565419.html 1.re.search函数 re.search 扫描整个字符串并返回第一个成功的匹配,如果匹配失败search()就返回None. (1)函数语法: re.search(pattern, string, flags=0) 函数参数说明: pattern   匹配的正则表达式 string      要匹配的字符串 flgs         标志位,用于控制正则表达式的匹配方式 我

python 正则表达式re使用模块(match()、search()和compile())

摘录 python核心编程 python的re模块允许多线程共享一个已编译的正则表达式对象,也支持命名子组.下表是常见的正则表达式属性: 函数/方法 描述 仅仅是re模块函数 compile(pattern,flags=0) 使用任何可选的标记来编译正则表达式的模式 ,然后返回一个正则表达式对象 re模块函数和正则表达式对象的方法 match(pattern,string,flags=0) 尝试使用带有可选标记的正则表达式的模式来匹配字符串,成功则返回匹配的对象,失败则返回None search