【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

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

相关推荐
OPEN-F几秒前
Python进阶教程:项目工程化与虚拟环境
开发语言·python
吴声子夜歌2 分钟前
Java面试——基础
java·开发语言·面试
爱奥尼欧9 分钟前
【daily practice】最长数字串怎么找?岛屿数量如何沉岛秒数?六棍拼两三角形有几种验法?(5.字符串中找出连续最长的数字串、岛屿数量、拼三角)
笔记·学习
OPEN-F15 分钟前
Python进阶教程:自动化办公实战
python·c#·自动化
Bernice橘子16 分钟前
职场英语学习计划Day040
学习
minglie122 分钟前
python串口的stream数据mock
python
tachibana224 分钟前
把RAGAS跑起来
数据库·人工智能·ai·架构·大模型·llm·rag
晚风醉蝶26 分钟前
1-16-计数排序-CountingSort
python·算法·排序算法
蒸蒸yyyyzwd36 分钟前
cpp选手秋招学习笔记day14
数据库·oracle
用户77833661321139 分钟前
用搜索数据 API 做一个关键词联想组件(防抖 + 缓存 + 可复用)
python·api