摘自: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         标志位,用于控制正则表达式的匹配方式

我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

group(num=0)   获取匹配结果的各个分组的字符串,group() 可以一次输入多个组号,此时返回一个包含那些组所对应值的元组。

groups()            返回一个包含所有分组字符串的元组。

注意:如果未匹配成功,search()返回值为None,此时再使用group()、groups()  方法会报错。

应该先获取匹配对象,然后判断匹配对象是否非空,当非空时在使用group()、groups()  方法获取匹配结果。见实例2

(2)实例

例1

importreprint(re.search(r'How', 'How are you').span())# 在起始位置匹配print(re.search(r'are', 'How are you').span())# 不在起始位置匹配

以上输出结果为:

(0,3)(4, 7)

例2

import re

content = 'Hi zeke,how old are you'

result = re.search(r'\d+' , content)

if result:

print result.group()

else:

print 'No match!'

rs = re.search(r'\w{4}' , content)

if rs:

print rs.group()

else:

print 'No match!'

以上执行结果如下:

No match!

zeke

2.pattern.search方法

(1) 函数语法

pattern.search(string,pos=0, endpos=len(string))

函数作用:

这个方法将在字符串string的pos位置开始 尝试匹配pattern(pattern就是通过 re.compile()方法编译后返回的对象),如 果pattern匹配成功,无论是否达到结束位 置endpos,都会返回一个匹配成功后的Match对象;

如果匹配不成功,或者 pattern未匹配结束就达到endpos,则返回 None。

函数参数说明:

string:被匹配的字符串

pos:匹配的起始位置,可选,默认为0

endpos:匹配的结束位置,可选,默认为 len(string)

3. re.search和pattern.search区别

re.search方法与pattern.search()方法 区别在于,它不能指定匹配的区 间pos和endpos两个参数

4. re.match方法与re.search方法的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式, 则匹配失败,并返回None;

re.search匹配整个字符串, 直到找到一个匹配,如果整个字符串都没匹配到,则返回None。

pythonsearch方法_python正则表达式(4)--search方法相关推荐

  1. python search返回值_python正则表达式--match search方法

    1.re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None. (1)函数语法: re.match(pattern,str ...

  2. python 正则表达式方法_Python正则表达式一: 基本使用方法

    学习python的正则表达式,主要有两个方面学习: 第一,学习如何写正则表达式,主要是掌握其语法规范.正则表达式的语法规范是通用的,对各种开发语言都是一致的. 第二,学习如何使用正则表达式,也就是掌握 ...

  3. python真正实现多线程的方法_python多线程几种方法实现

    匿名用户 1级 2018-05-27 回答 Python进阶(二十六)-多线程实现同步的四种方式 临界资源即那些一次只能被一个线程访问的资源,典型例子就是打印机,它一次只能被一个程序用来执行打印功能, ...

  4. python中lt方法_Python的富比较方法__lt__、__gt__之间的关联关系分析

    Python的富比较方法包括__lt__.__gt__分别表示:小于.大于,对应的操作运算符为:"".那么是否象普通数字运算一样,这两个方法之间存在互反的关系呢? Python没有 ...

  5. python类的专有方法_Python——类的专有方法

    Python除了自定义私有变量和方法外,还可以定义专有方法.专有方法是在特殊情况下或使用特殊语法时由python调用的,而不是像普通方法一样在代码中直接调用.看到形如__XXX__的变量或函数名时就需 ...

  6. python中的str方法和repr方法_Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些

    Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些 发布时间:2020-11-05 17:11:48 来源:亿速云 阅读:95 作者:Leah 本篇文章给大家分享的是有关P ...

  7. python描述符魔术方法_Python类型转换的魔术方法详解

    本文讨论python中将某个复杂对象转换为简单对象或数据类型的常用魔术放啊,这些在编程中是十分有用的. 1.__str__方法. 在讲解本方法前我们先打开一个jupyter notebook,随意创建 ...

  8. python new方法_Python中的__new__()方法的使用

    __new__() 函数只能用于从object继承的新式类. 先看下object类中对__new__()方法的定义: class object: @staticmethod # known case ...

  9. python中集合比大小方法_Python集合17个方法详解

    Python 中的集合类似于数学中的集合概念,它是一组无序.不可重复数据的组合.集合用{ ...}创建,某种程度上可以把集合看作是没有值的字典.集合是Python里面非常重要的数据类型,其中的方法总共 ...

  10. python find的使用方法_Python中的rfind()方法使用详解

    Python中的rfind()方法使用详解 rfind()方法返回所在子str 被找到的最后一个索引,或者-1,如果没有这样的索引不存在,可选择限制搜索字符串string[beg:end]. 语法 以 ...

最新文章

  1. 被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
  2. Java中四则运算的那些坑
  3. Codeforces 1284E New Year and Castle Building (计算几何)
  4. 素数p阶群乘法循环群啥意思_抽象代数2-3 群元素的阶和循环群
  5. centos mysql tar 安装mysql_centos 安装 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 详细步骤
  6. C++字符串类型和数字之间的转换
  7. 自定义Redis序列化工具
  8. leetcode39. 组合总和(回溯)
  9. Qt之QPropertyAnimation
  10. java 工程文件改名后显示绿色加号_Gradle学习记录018 构建java JVM工程 part1
  11. VB中Unload、END、Hide的区别
  12. ScrollView中嵌套recycleView 出现的不显示,显示不全,终极解决方案
  13. D1格式是720*576还是704*576
  14. html如何插入下拉菜單,html下拉菜单怎么做?html下拉菜单的代码实例介绍
  15. 从零开始写触摸屏驱动(Linux4.3.2 JZ2440V3 480*272)
  16. w3c离线手册2019
  17. 改纸盒大小_包装纸箱改大小
  18. python小课笔记_小甲鱼Python第一讲笔记(个人笔记)
  19. 深入浅出ASP .NET Core学习记录
  20. 阻止野猪入境 丹麦在德国边境开始建设边境围栏

热门文章

  1. Ubuntu下VIM的安装和基本用法
  2. linux文件系统和mount(硬盘,win分区,光驱,U盘)
  3. iPhone程序中如何生成随机数
  4. 《演讲之禅》迷你书免费下载 每小时30000美元的秘诀
  5. 凸优化第四章凸优化问题 4.4 二次优化问题
  6. SpringBoot1.5.9集成Activiti6
  7. 入口函数ufusr()与ufsta()的区别
  8. spring boot安装环境步骤及问题解决方式
  9. 【298天】每日项目总结系列036(2017.11.30)
  10. 【转】一步一步学Linq to sql(十):分层构架的例子