正则表达式常用函数

正则表达式:以字符串的形式规定一个规则,在文本中匹配并找出符合的字符串。

re库中常用的六个函数分别是match、compile、sub、split、search、findall,这些函数的用法基本都是相同的,只是目的不一样。


假设method是re库中的函数

re.method(pattern, string)

pattern:正则表达式

string:文本

意义:从string文本里以pattern这个规则匹配对应的字符串

re.match

匹配成功,返回一个match对象,匹配不到则返回None,注意是要跟string整个都匹配才算成功

import re
m = re.match('a','abc')
type(m)

_sre.SRE_Match

m = re.match('d','abc')
type(m)

NoneType

re.compile

提前预编译好一个正则,后续可直接调用其他正则库中的函数

import re
pat = re.compile('a')
m = pat.match('abc')
type(m)

_sre.SRE_Match

re.split

以正则表达式为分隔符,对文本进行分隔,返回由分隔后的所有字符组成的列表

import re
re.split('b','abcfsbafbsa')

['a', 'cfs', 'af', 'sa']

re.findall

返回字符串中所有正确匹配项组成的列表,即列表中每个元素都能跟正则表达式匹配

import re
re.findall('b','abcfsbafbsa')
['b', 'b', 'b']

注:上式只是一个说明使用方法的例子,在实际中一般都采用特殊的正则表达式

re.sub(a,b,c)

将字符串c中符合正则表达式a的字符全换成字符b,并返回

import re
re.sub('b','1','abcfsbafbsa')

'a1cfs1af1sa'

注:不会改变c变量


正则中的一些细节

如上返回的match对象中有一个group功能,在正则表达式中通过加上括号"()",可以将匹配到的字符串进行分组,分组的个数及对应关系由所加的"()"的数量和位置决定,可用group功能将对应的子串取出来。


在findall函数中

1、当给出的正则表达式带有多个括号时,返回的列表中的元素为多个字符串组成的元组,元组中的元素个数与正则表达式所带的括号数目相同,字符串内容与每个括号内的正则表达式相对应,并且排列的顺序跟括号出现的顺序一样。

2、当给出的正则表达式中带有一个括号时,列表元素为字符串,并与括号中的正则表达式相对应(不是整个正则表达式)。

3、当给出的正则表达式不带括号时,列表元素为字符串,与整个正正则表达式匹配。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值