python的re模块中正则匹配的几个函数的使用

一.sub函数

1.sub函数用于替换字符串中的匹配项

2.语法:re.sub(pattern, repl, string, count=0, flags=0)

pattern : 被替换的字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

3.举例

c = 'python123java44python&C#C'

r1 = re.sub('python', 'php', c, 1)
r2 = re.sub('python', 'php', c, 2)
print(r1)
print(r2)

结果为:

php123java44python&C#C
php123java44php&C#C

如果第二个参数传入的为函数,如下例:

c = 'python123java44python&C#C'
def temp(value):
    # 传入的value看上去是被替换的字符串,但实质是个对象
    # group函数获取截获的对象代表的字符串
    match = value.group()
    return '---'+match+'---'

r1 = re.sub('python', temp, c)
print(r1)

结果为:

---python---123java44---python---&C#C

二、findall函数

1.在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
2.语法:re.findall(pattern, string, flags=0):

pattern:正则表达式
string:被匹配的字符串
flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写(re.l),多行匹配(re.M), 使 ‘.’ 匹配包括换行在内的所有字符(re.S)等
3.举例

b = 'pytho0python1pythonn2'

r2 = re.findall('python', b)
print(r2)
['python', 'python']

三、match函数

1.从字符串的起始位置匹配,如果起始位置匹配未成功的话,match()就返回none。
2.语法:re.match(pattern, string, flags=0)

pattern 正则表达式
string 要匹配的字符串。

四、search函数

1.扫描整个字符串并返回第一个成功的匹配。
2.语法:re.search(pattern, string, flags=0)

pattern 匹配的正则表达式
string 要匹配的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值