【Python学习】Python学习21- 正则表达式(1)

目录

【Python学习】Python学习21- 正则表达式(1)


文章所属专区 Python学习


前言

本章节主要说明Python的正则表达式。

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。

语法:

cpp 复制代码
re.match(pattern, string, flags=0)

参数说明:

正则表达式可选标志

实例

cpp 复制代码
#!/usr/bin/python
import re
 
line = "Cats are smarter than dogs"
 
matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)
 
if matchObj:
   print "matchObj.group() : ", matchObj.group()
   print "matchObj.group(1) : ", matchObj.group(1)
   print "matchObj.group(2) : ", matchObj.group(2)
else:
   print "No match!!"

多行匹配,大小写不敏感,""are""的语句

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配。

语法:

re.search(pattern, string, flags=0)

参数说明:

实例:

cpp 复制代码
#!/usr/bin/python
import re
 
line = "Cats are smarter than dogs";
 
searchObj = re.search( r'(.*) are (.*?) .*', line, re.M|re.I)
 
if searchObj:
   print "searchObj.group() : ", searchObj.group()
   print "searchObj.group(1) : ", searchObj.group(1)
   print "searchObj.group(2) : ", searchObj.group(2)
else:
   print "Nothing found!!"

re.match与re.search的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

cpp 复制代码
#!/usr/bin/python
import re
 
line = "Cats are smarter than dogs";
 
matchObj = re.match( r'dogs', line, re.M|re.I)
if matchObj:
   print "match --> matchObj.group() : ", matchObj.group()
else:
   print "No match!!"
 
matchObj = re.search( r'dogs', line, re.M|re.I)
if matchObj:
   print "search --> searchObj.group() : ", matchObj.group()
else:
   print "No match!!"

返回:

No match!! #match在字符串开始没有匹配到字符 返回false

search --> searchObj.group() : dogs #search在整个字符串匹配到了字符,返回true

参考

菜鸟教程-Python

给个三连吧 谢谢谢谢谢谢了

相关推荐
从未想放弃6 分钟前
golang性能分析之pprof
开发语言·后端·golang
StickToForever9 分钟前
第5章 软件工程(二)
经验分享·笔记·学习·职场和发展
流年诠释一切9 分钟前
MinIO Go 客户端 API
开发语言·后端·golang
BUG 劝退师14 分钟前
Golang概述
开发语言·后端·golang
StickToForever15 分钟前
第5章 软件工程(一)
经验分享·笔记·学习·职场和发展
冷琴199617 分钟前
基于python+django的宠物商店-宠物管理系统源码+运行步骤
python·django·宠物
Reese_Cool18 分钟前
【爬虫】request库
爬虫·python
请卧龙先生出山25 分钟前
c++day4
开发语言·c++
愚戏师28 分钟前
从零到一学习c++(基础篇--筑基期十一-类)
开发语言·数据结构·c++·学习·算法
程序员yt29 分钟前
双非本南邮硕电子信息研一转码:优先掌握哪些编程语言?与学习路径推荐
qt·学习·考研