pythonsearch方法_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 标志位,用于控制正则表达式的匹配方式
我们可以使用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方法相关推荐
- python search返回值_python正则表达式--match search方法
1.re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None. (1)函数语法: re.match(pattern,str ...
- python 正则表达式方法_Python正则表达式一: 基本使用方法
学习python的正则表达式,主要有两个方面学习: 第一,学习如何写正则表达式,主要是掌握其语法规范.正则表达式的语法规范是通用的,对各种开发语言都是一致的. 第二,学习如何使用正则表达式,也就是掌握 ...
- python真正实现多线程的方法_python多线程几种方法实现
匿名用户 1级 2018-05-27 回答 Python进阶(二十六)-多线程实现同步的四种方式 临界资源即那些一次只能被一个线程访问的资源,典型例子就是打印机,它一次只能被一个程序用来执行打印功能, ...
- python中lt方法_Python的富比较方法__lt__、__gt__之间的关联关系分析
Python的富比较方法包括__lt__.__gt__分别表示:小于.大于,对应的操作运算符为:"".那么是否象普通数字运算一样,这两个方法之间存在互反的关系呢? Python没有 ...
- python类的专有方法_Python——类的专有方法
Python除了自定义私有变量和方法外,还可以定义专有方法.专有方法是在特殊情况下或使用特殊语法时由python调用的,而不是像普通方法一样在代码中直接调用.看到形如__XXX__的变量或函数名时就需 ...
- python中的str方法和repr方法_Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些
Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些 发布时间:2020-11-05 17:11:48 来源:亿速云 阅读:95 作者:Leah 本篇文章给大家分享的是有关P ...
- python描述符魔术方法_Python类型转换的魔术方法详解
本文讨论python中将某个复杂对象转换为简单对象或数据类型的常用魔术放啊,这些在编程中是十分有用的. 1.__str__方法. 在讲解本方法前我们先打开一个jupyter notebook,随意创建 ...
- python new方法_Python中的__new__()方法的使用
__new__() 函数只能用于从object继承的新式类. 先看下object类中对__new__()方法的定义: class object: @staticmethod # known case ...
- python中集合比大小方法_Python集合17个方法详解
Python 中的集合类似于数学中的集合概念,它是一组无序.不可重复数据的组合.集合用{ ...}创建,某种程度上可以把集合看作是没有值的字典.集合是Python里面非常重要的数据类型,其中的方法总共 ...
- python find的使用方法_Python中的rfind()方法使用详解
Python中的rfind()方法使用详解 rfind()方法返回所在子str 被找到的最后一个索引,或者-1,如果没有这样的索引不存在,可选择限制搜索字符串string[beg:end]. 语法 以 ...
最新文章
- 被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
- Java中四则运算的那些坑
- Codeforces 1284E New Year and Castle Building (计算几何)
- 素数p阶群乘法循环群啥意思_抽象代数2-3 群元素的阶和循环群
- centos mysql tar 安装mysql_centos 安装 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 详细步骤
- C++字符串类型和数字之间的转换
- 自定义Redis序列化工具
- leetcode39. 组合总和(回溯)
- Qt之QPropertyAnimation
- java 工程文件改名后显示绿色加号_Gradle学习记录018 构建java JVM工程 part1
- VB中Unload、END、Hide的区别
- ScrollView中嵌套recycleView 出现的不显示,显示不全,终极解决方案
- D1格式是720*576还是704*576
- html如何插入下拉菜單,html下拉菜单怎么做?html下拉菜单的代码实例介绍
- 从零开始写触摸屏驱动(Linux4.3.2 JZ2440V3 480*272)
- w3c离线手册2019
- 改纸盒大小_包装纸箱改大小
- python小课笔记_小甲鱼Python第一讲笔记(个人笔记)
- 深入浅出ASP .NET Core学习记录
- 阻止野猪入境 丹麦在德国边境开始建设边境围栏
热门文章
- Ubuntu下VIM的安装和基本用法
- linux文件系统和mount(硬盘,win分区,光驱,U盘)
- iPhone程序中如何生成随机数
- 《演讲之禅》迷你书免费下载 每小时30000美元的秘诀
- 凸优化第四章凸优化问题 4.4 二次优化问题
- SpringBoot1.5.9集成Activiti6
- 入口函数ufusr()与ufsta()的区别
- spring boot安装环境步骤及问题解决方式
- 【298天】每日项目总结系列036(2017.11.30)
- 【转】一步一步学Linq to sql(十):分层构架的例子