python正则表达式学习(一) ---re模块的简介和方法
来源:互联网 发布:Linux 日志切割 编辑:程序博客网 时间:2024/05/21 03:17
re模块即是Regex,表示正则表达式。
(一)re模块的使用模式:
re模块有两种使用方式:
(一).创建RegexObject(正则对象)方法
首先,用 re模块的compile方法,编译字符串生成一个pattern对象
再用 pattern 的 match方法 匹配 源字符串,返回一个 result(结果)对象
引用 result对象的group方法,打印它即可得到匹配的结果,详细看代码:
import restr = r"Python "sstr = r"Python programer"pa = re.compile(str) #编译生成模式res = pa.match(sstr) #用模式匹配字符串print(res.group())打印结果: Python
上面 sstr 是以 str 为模式匹配的,str是Python,所以匹配出的是 sstr字符串中的 Python
re模块有一个 flag 为 re.I (大写 i ),作用为忽略大小写
例如:
pa.compile(str,re.I) #作用为生成的模式匹配字符时,忽略大小写如:
import restr = r"PyThoN "sstr = r"Python programer"pa = re.compile(str,re.I)res = pa.match(sstr)print(res.group())##由于忽略了str的大小所以打印出来的结果还是 Python
(二)直接调用 re的match()方法:
直接调用re的match方法,成功会返回一个MatchObject对象
import restr = r"Python "sstr = r"Python programer"res = re.match(str,sstr)print(res.group())打印结果:Python
当然,res = re.match(str,sstr,re.I) #匹配的结果会忽略大小写,第一个参数是模式字符串,第二个是要被匹配的字符串
(二)re模块的常用方法:
(1)re.match()
作用:用模式 从字符串开头开始匹配字符串
(2)re.search(),第一个参数是匹配模式,第二个参数是要匹配的字符串
作用:用模式匹配字符串,跟 re.match()不同的是,re.search()不要求从字符串的开头开始匹配
如:
import rereg = r'[a-zA-Z]+'str = r'123abcd456'res = re.search(reg,str)print(res.group())#打印结果:abcd若上面用的是 re.match()进行匹配的话,则会出现错误,因为abcd并不在字符串的开头,因此用re.match()匹配不到。
(3)re.findall()
作用:匹配字符串中所有符合 模式 的子字符串
如:
import rereg = r'[a-zA-Z]+'str = r'123abcd456efgh789ijkl'res = re.findall(reg,str)print(res)#打印结果:['abcd', 'efgh', 'ijkl']如上,例如要匹配出 str 中所有的英文字母,要是用 re.search()只会匹配一个,而用re.findall()则会匹配出全部符合的子字符串
注意:findall()返回的是一个列表,所以直接打印其返回值即可。
(4)re.sub(a,b,c)
参数a :要被替换的字符串
参数b:替换上去的字符串
参数c:未经处理的字符串
作用:替换被模式 匹配到的子字符串
如:
import rea = r'bad'b = r'good'c = r'life can be bad bad'res = re.sub(a,b,c)print(res)#打印结果:life can be good good
(5)re.split()
作用:分割字符串
如:
import repa = r' 'str = r'life can be good'res = re.split(pa,str)print(res)#打印结果:['life', 'can', 'be', 'good']如上, re.split 的 pa 为 空格,则规定了字符串 str 是以空格为分割基准,re.spilit()返回一个列表
- python正则表达式学习(一) ---re模块的简介和方法
- 【Python学习】Python的re模块和正则表达式
- Python的re模块学习---正则表达式
- 正则表达式和python的re模块
- Python正则表达式模块(re)简介
- python学习笔记(五)正则表达式的基本语法和re模块API
- [python][正则表达式] re模块核心函数和方法
- python的正则表达式re模块的常用方法
- python的正则表达式re模块的常用方法
- [整理] python的正则表达式re模块的常用方法
- python的正则表达式re模块的常用方法
- python的正则表达式re模块的常用方法
- Python模块学习 ---- re 正则表达式
- Python中re(正则表达式)模块学习
- Python模块学习 ---- re 正则表达式
- Python中re(正则表达式)模块学习
- Python模块学习 – re 正则表达式
- Python中re(正则表达式)模块学习
- 839UVa简单题天平
- flask蓝图的使用
- 7 Starting A Real Project
- 传了值 还是传了引用
- 【BZOJ 4269】再见Xor 线性基
- python正则表达式学习(一) ---re模块的简介和方法
- CCF201412-2 Z字形扫描(100分)
- 网管的自我修养-电脑维护
- 网管的自我修养-网络系统
- 网管的自我修养-弱电系统
- [C#]C#初了解
- Codeforces 677B Vanya and Food Processor【模拟】
- 网管的自我修养-外设相关
- 剑指offer--在O(1)时间内删除链表结点