Python中正则表达式的理解和举例

正则表达式:是形成搜索模式的字符序列

作用检查字符串是否包含指定的搜索模式。

python提供内置的re包来处理正则表达式

一、regex常用函数

findall返回包含所有匹配项的列表
search如果字符串中的任意位置存在匹配,则返回 Match 对象
split返回在每次匹配时拆分字符串的列表
sub用字符串替换一个或多个匹配项

二、10个元字符

[]一组字符()捕获和分组
\示意特殊序列(也可用于转义特殊字符).任何字符(换行符除外)
^起始于$结束于
*零次或多次出现+一次或多次出现
{}指定的出现次数|两者任一

三、10个特殊序列

\A整个字符串的开头\Z整个字符串的结尾
\b\bword 单词的开头,word\b 单词的结尾\B取\b的补集
\d返回字符串包含数字的匹配项(数字 0-9)\D取\d的补集
\s返回字符串包含空白字符的匹配项\S取\s的补集
\w返回一个匹配项,其中字符串包含任何单词字符
(从 a 到 Z 的字符,从 0 到 9 的数字和下划线 _ 字符)
\W取\w的补集

四、举例说明

import re

str='China is a great country'

lstr=re.findall('a',str)#返回所有匹配项的列表
print(lstr) #['a', 'a', 'a']

lstr2=re.split('\s',str,1)#用匹配到的空白字符 ,做分割--可指定匹配次数
print(lstr2) #['China', 'is', 'a', 'great', 'country']

lstr3=re.sub('\s','-',str)#将匹配的替换为指定字符
print(lstr3) #China-is-a-great-country

#match对象--包含有关搜索和结果信息的对象
mat=re.search(r'\bC\w+',str)#函数搜索字符串中的匹配项,如果存在匹配则返回 Match 对象。
mat2=re.search(r'\bx\w+',str)#函数搜索字符串中的匹配项,如果存在匹配则返回 Match 对象。
print(mat.group()) #group 返回匹配项---China
print(mat2) #无匹配项 返回 None 而不是 Match 对象---None
print(mat.span()) #span返回匹配项的--开始和结束index tuple---(0, 5)
print(mat.start()) #start返回匹配项的--第一个index--- 0
print(mat.string) #string返回被匹配的整个str---China is a great country
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值