python正则表达式(3)--match方法
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
print(re.match(r'How', 'How are you').span()) # 在起始位置匹配
print(re.match(r'are', 'How are you')) # 不在起始位置匹配
以上输出结果为:
(0, 3)
None
例2
以上执行结果如下:
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两个参数
最新文章
- 一堆LCT板子
- Java虚拟机学习(5):类加载器(ClassLoader
- hibernate 打印sql和参数的配置
- Eclipse错误
- 【POJ 3162】 Walking Race (树形DP-求树上最长路径问题,+单调队列)
- centos 6.5网卡dhcp不能获得网关
- C#中给线程传值并启动
- Oracle EBS-SQL (SYS-11):查询系统已打的PATCH.sql
- git笔记------自己学习git的心得
- windows 服务中托管asp.net core
- C#基础知识之类和结构体
- Eclipse is running in a JRE, but a JDK is required Some Maven plugins may not work when importing projects or updating source folders.
- 20155324 2016-2017-2 《Java程序设计》第4周学习总结
- mysql时间延时注入案例
- 高仿MT4行情终端(K线图+操控+简单架构)
- (原)ubuntu上编译PANet/Detectron.pytorch时-std=c99的错误
- PHP之高性能I/O框架:Libevent(一)
- 无线Mesh网络技术基础与应用
- python进行des加密解密,而且可以与JAVA进行互相加密解密
- Centos7编译4.7.2内核
热门文章
- DDD框架基础知识
- | C语言I作业02
- SQL Server ----- 还原数据库,将另一台电脑上的数据库装在本机
- [转帖]B4. Concurrent JVM 锁机制(synchronized)
- [转帖]【Ubuntu】Ubuntu 各版本代号简介
- Scala Operators, File &; RegExp
- HTML的attribute和DOM的property剖析(转)
- MVC学习笔记(六)---遇到的小问题汇总
- 颜色rgba和16进制
- SAP HANA学习资料大全 Simple Finane + Simple Logisitic [非常完善的学习资料汇总]