Python3 re.search()方法的具体使用

 更新时间:2022年08月15日 15:29:35   作者:Rustone  
本文主要介绍了Python3 re.search()方法的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

re.search()方法扫描整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None。

与re.match()方法不同,re.match()方法要求必须从字符串的开头进行匹配,如果字符串的开头不匹配,整个匹配就失败了;

re.search()并不要求必须从字符串的开头进行匹配,也就是说,正则表达式可以是字符串的一部分。

re.search(pattern, string, flags=0)
  • pattern : 正则中的模式字符串。
  • string : 要被查找替换的原始字符串。
  • flags : 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

例1:

import re 
content = 'Hello 123456789 Word_This is just a test 666 Test'
result = re.search('(\d+).*?(\d+).*', content)  
 
print(result)
print(result.group())    # print(result.group(0)) 同样效果字符串
print(result.groups())
print(result.group(1))
print(result.group(2))

结果:

<_sre.SRE_Match object; span=(6, 49), match='123456789 Word_This is just a test 666 Test'>
123456789 Word_This is just a test 666 Test
('123456789', '666')
123456789
666
 
Process finished with exit code 0

例2:只匹配数字

import re
 
content = 'Hello 123456789 Word_This is just a test 666 Test'
result = re.search('(\d+)', content)
 
print(result)
print(result.group())    # print(result.group(0)) 同样效果字符串
print(result.groups())
print(result.group(1))

结果:

<_sre.SRE_Match object; span=(6, 15), match='123456789'>
123456789
('123456789',)
123456789
 
Process finished with exit code 0

match()和search()的区别:

  • match()函数只检测RE是不是在string的开始位置匹配,
  • search()会扫描整个string查找匹配
  • match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none

举例说明:

import re
print(re.match('super', 'superstition').span())

(0, 5)

print(re.match('super','insuperable'))

None

print(re.search('super','superstition').span())

(0, 5)

print(re.search('super','insuperable').span())

(2, 7)

到此这篇关于Python3 re.search()方法的具体使用的文章就介绍到这了,更多相关Python3 re.search()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现批量下载ts文件并合并为mp4

    Python实现批量下载ts文件并合并为mp4

    这篇文章主要为大家详细介绍了如何通过Python语言实现批量下载ts文件并合并为mp4视频的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-06-06
  • 使用python求解二次规划的问题

    使用python求解二次规划的问题

    今天小编就为大家分享一篇使用python求解二次规划的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python中无限元素列表的实现方法

    Python中无限元素列表的实现方法

    这篇文章主要介绍了Python中无限元素列表的实现方法,很实用的功能,需要的朋友可以参考下
    2014-08-08
  • 2023最新pytorch快速安装指南(超详细版)

    2023最新pytorch快速安装指南(超详细版)

    这篇文章主要给大家介绍了2023年最新pytorch快速安装指南的相关资料,PyTorch是一个开源的深度学习框架,提供了各种张量操作并通过自动求导可以自动进行梯度计算,方便构建各种动态神经网络,需要的朋友可以参考下
    2023-10-10
  • Python函数式编程之返回函数实例详解

    Python函数式编程之返回函数实例详解

    函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数,下面这篇文章主要给大家介绍了关于Python函数式编程之返回函数的相关资料,需要的朋友可以参考下
    2022-09-09
  • NumPy创建数组的多种方式实现

    NumPy创建数组的多种方式实现

    在使用NumPy时,通常需要先创建一个数组,然后再对这个数组进行各种操,本文主要介绍了NumPy创建数组的多种方式实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-06-06
  • 五个方便好用的Python自动化办公脚本的实现

    五个方便好用的Python自动化办公脚本的实现

    在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。Python因为语法简洁易懂,而且有丰富的第三方工具库,所以非常适合编写自动化脚本,本文就为大家带来了五个这样的脚本,需要的可以参考一下
    2022-01-01
  • Python urllib、urllib2、httplib抓取网页代码实例

    Python urllib、urllib2、httplib抓取网页代码实例

    这篇文章主要介绍了Python urllib、urllib2、httplib抓取网页代码实例,本文直接给出demo代码,代码中包含详细注释,需要的朋友可以参考下
    2015-05-05
  • 使用Pandas实现清洗客户编码异常数据

    使用Pandas实现清洗客户编码异常数据

    在不同行业中,我们经常会遇到一个麻烦的问题:数据清洗,尤其是当我们需要处理客户编码异常数据时,下面小编就来和大家分享一下常用的解决办法吧
    2023-07-07
  • 对python的unittest架构公共参数token提取方法详解

    对python的unittest架构公共参数token提取方法详解

    今天小编就为大家分享一篇对python的unittest架构公共参数token提取方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论