python search返回值_python正则表达式--match search方法
1.re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。
(1)函数语法:
re.match(pattern,string,flags=0)
函数参数说明:
pattern 匹配的正则表达式
string 要匹配的字符串
flgs 标志位,用于控制正则表达式的匹配方式
我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
group(num=0) 获取匹配结果的各个分组的字符串,group() 可以一次输入多个组号,此时返回一个包含那些组所对应值的元组。
groups() 返回一个包含所有分组字符串的元组。
注意:如果未匹配成功,match()返回值为None,此时再使用group()、groups() 方法会报错。
应该先获取匹配对象,然后判断匹配对象是否非空,当非空时在使用group()、groups() 方法获取匹配结果。见实例2
(2)实例
例1
importreprint(re.match(r'How', 'How are you').span())# 在起始位置匹配print(re.match(r'are', 'How are you'))# 不在起始位置匹配
以上输出结果为:
(0,3)None
例2
importre
content = '577 zeke'
result = re.match(r'[a-z]\d' , content)
if result:
print result.group()
else:
print 'No match!'
以上执行结果如下:
No match!
2.pattern.match方法
(1) 函数语法
pattern.match(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.match和pattern.match区别
re.match方法与pattern.match()方法 区别在于,它不能指定匹配的区 间pos和endpos两个参数
search
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。
python search返回值_python正则表达式--match search方法相关推荐
- python 菜鸟:返回值_Python中的真实值和虚假值:详细介绍
python 菜鸟:返回值 欢迎 (Welcome) In this article, you will learn: 在本文中,您将学习: What truthy and falsy values ...
- python return返回值_Python return语句 函数返回值
return语句是从python 函数返回一个值,在讲到定义函数的时候有讲过,每个函数都要有一个返回值.Python中的return语句有什么作用,今天就来仔细的讲解一下. python 函数返回值 ...
- python findall返回值_Python re 模块findall() 函数返回值展现方式解析
findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表. 注意: match 和 search 是匹配一次 findall 匹配所有,mat ...
- python函数返回值_Python中函数的返回值示例浅析
前言: 前面我们介绍了简单的介绍了函数和函数的参数,今天我们来说一下Python中函数的返回值. 函数的返回值:函数运算的结果,需要进一步的操作时,给一个返回值return用来返回函数的结果,如果没有 ...
- python多线程返回值_python获取多线程及子线程的返回值
最近有个需求,用多线程比较合适,但是我需要每个线程的返回值,这就需要我在threading.Thread的基础上进行封装 import threading class MyThread(threadi ...
- python获取返回值_python 调用 shell ,获取返回值和返回信息
网络上有各种方案解决python调用shell的解决方案,但是没有一个完美的,以下是本人整理的一个方案,比较完美地解决了同时解决获取返回值和返回信息. def run_linux_cmd_quiet( ...
- python字典更新值_Python 字典 update() 使用方法及示例
Python 字典 update() 使用方法及示例 update()方法向字典插入指定的项目.这个指定项目可以是字典或可迭代对象. 如果键不在字典中,则update()方法将元素添加到字典中.如果键 ...
- python writerow 返回值_python – .writerow()csv返回一个数字而不是写行
我正在使用Python 3测试一些非常简单的代码.出于某种原因,下面的代码生成一个空输出,而不是写一行 import csv output = open('hello world.csv', 'w', ...
- python readlines返回值_Python readlines没有返回任何内容?
您已经读取了文件并且文件指针不在文件的末尾.调用readlines()则不会返回数据. 只读取一次文件:with open('current.cfg', 'r') as current: lines ...
最新文章
- 拼多多高速冲刺8亿用户新时代 黄峥卸任董事长 探索行业未来十年发展
- python基础教程:名称空间与作用域
- HDU1495 非常可乐
- MongoDB数据导入hbase + 代码
- 重新想象 Windows 8 Store Apps (9) - 控件之 ScrollViewer 基础
- java socket 报文解析_java socket解析和发送二进制报文工具(附java和C++转化问题)
- html没有代码补全 vscode_借助clangd实现VSCode C++代码补全
- TensorFlow 教程 --进阶指南--3.6增加一个新 Op
- 德国精品软件推荐 压缩软件 WINRAR 个人版终于免费了。
- Java 第一大框架:Spring 的 IoC 跟 AOP 雏形如何实现?
- Java NIO和IO的主要区别
- php ci框架开发手册,CodeIgniter 教程 - php CodeIgniter 框架 - CodeIgniter手册
- EasyUI 1.5.x Of Insdep Theme 1.0.0 RC1 美化主题大包已发布
- 基于Edge插件+格式工厂下载B站上的喜欢视频
- 记一次调试WM8978音频IC过程
- 基于x86汇编的飞机大战
- 国内常见php的CMS建站系统情况分析
- 1、蛋白质二级结构预测方法
- echars x轴单位_ECharts xAxis配置 x坐标轴刻度设置
- 微信小程序支付错误提示“商户号mch_id或sub_mch_id不存在”
热门文章
- 搭建mysql 主从复制The slave I/O thread stops because master and slave have equal MySQL server UUIDs
- java 百万数据查询_JAVA技巧:Java中的大量数据查询
- linux 查看显卡信息及显卡驱动信息
- 柔光混合模式android,滤色与柔光两种图层混合模式的理解和应用实例
- 两步免费开通企业微信,不用提交资料
- Failed to send a request to Slack API server: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certif
- android 4.4 短信拦截,Android 4.4 KitKat升级率已经接近18%
- 给Office文档加密方式与原理揭秘
- 操作系统实验一 添加内核模块
- sRGB Color Space