python之正则表达式手册(re)

正则表达式是描述文本序列的标准表达方式,在文本处理中用正则表达式来描述文本中的字符串。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。匹配时不会重复匹配其子串。

1.用字符表示字符

1.基础符号【均只能匹配一个字符】

str(' ')

正则表达式(' ')【'\'均有特殊意义】

指定数字 如:‘1’与之相同     【 '1'】
指定字母  如::‘a'与之相同    【 'a'】
指定特殊符号  如:指定'-'需加上转义符'\'      【'\-'】
指定多种字符【析取】  如:'a'或’b''[  ]'    【'[ab]'】
表示范围 如:1-3之间的数字'-'     【'[1-3]'】【需与析取配合使用】

指定非这些字符的字符【非】

如: 非'a'  且 非'b'

'^'(脱字符) 【'[^ab]'】【需与析取配合使用,且脱字符在开方括号的第一个位置才有效】
空白‘$’ 【只能放在结尾处】
'一个数字''\d' 或 '\w'
'一个字母''\w'
'一个字符'

'.'(通配符)

‘一个空格’(包括Tab等空白符)‘\s'

2.拓展符号【均需与基础符号组合使用,且只对前一个符号有效】

 

str(' ')【其中的某可不指定具体符号如:整数、字母等】

正则表达式(' ')【k为某字符】

’某字符可有可无'【0/1个】

'k?' 
'至少一个某字符''k+'
'n个某字符''k{n}'
'n-m个某字符''k{n,m}'
'任意个某字符''k * ‘ 
r 表示原生字符串,不会转义r'k'
匹配kk,但只返回()中的k‘(k)k’
  

2.用正则表达式提取字符串中的某些子串

功能函数参数解释返回值

判断字符串中是否存在与正则表达式匹配的子串

【该子串起始位置为0,既从头开始匹配】

 

re.match(partten,string,flags=0)

partten:正则表达式

string:被匹配的字符串

flags:修饰符

若匹配成功则返回一个match对象,否则返回None

可使用group() 或 groups() 匹配对象函数来获取search对象的字符串

判断字符串中是否存在与正则表达式匹配的子串

【该子串起始位置为任意,起点不一定为0】

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

partten:正则表达式

string:被匹配的字符串

flags:修饰符

若匹配成功则返回一个search对象,否则返回None

可使用group() 或 groups() 匹配对象函数来获取search对象的字符串

提取string中所有匹配正确的子串re.findall(partten,string,flags=0)

partten:正则表达式

string:被匹配的字符串

flags:修饰符

若匹配成功则返回一个非空list,否则返回[ ]
按照能够匹配的子串将字符串分割re.split(pattern, string, maxsplit=0, flags=0)

partten:正则表达式

string:被匹配的字符串

maxsplit:最大切分次数

flags:修饰符

返回被切割后的非空list

3.用正则表达式删除某字串

功能函数参数解释返回值
将匹配到的字符进行替换re.sub(pattern, repl, string, count=0,flags=0)

pattern : 正则中的模式字符串

repl: 用以替换匹配到的字符

string : 要被查找替换的原始字符串

count:被替换次数,0为所有

flags:修饰符

返回值是修改后的结果字符串
    

参考:https://www.cnblogs.com/MrFiona/p/5954084.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值