Python 正则表达式小结2

[声明]:本文参考了白夜黑雨老师的网页。如有侵权,请与我联系!!!

1. re切割字符串

2 . re字符串替换

代码如下:

import re
names = '关羽; 张飞, 赵云, 马超, 黄忠 李逵'
namelist = re.split(r'[;,\s]\s*',names) #切割字符串
print(namelist) # namelist返回一个列表

names = '''

下面是这学期要学习的课程:
<a href='https://www.bilibili.com/video/av66771949/?p=1' target='_blank'>点击这里,边看视频讲解,边学习以下内容</a>
这节讲的是牛顿第2运动定律
<a href='https://www.bilibili.com/video/av46349552/?p=125' target='_blank'>点击这里,边看视频讲解,边学习以下内容</a>
这节讲的是毕达哥拉斯公式
<a href='https://www.bilibili.com/video/av90571967/?p=33' target='_blank'>点击这里,边看视频讲解,边学习以下内容</a>
这节讲的是切割磁力线
'''
newStr = re.sub(r'/av\d+?/', '/cn345677/', names) #字符串替换
print(newStr)
print('test 字符串替换 finish')

def subFunc(match):
    #match 对象的group(0) 返回的是第一个group分组的内容
    src = match.group(0)
    print(src)
    number = int(match.group(1)) + 6 #match的grout(1)返回的是第一个group分组的内容
    print(number)
    dest = f'/av{number}/'
    print(f'{src} 替换为 {dest}')
    return dest
newStr = re.sub(r'/av(\d+?)/', subFunc, names)
print(newStr)
print('test 指定替换函数 finished')

# match的讲解
# match.group(0) # 获取整个匹配字符串
# match.group(1) # 获取第1个组内字符串
# match.group(2) # 获取第2个组内字符串

# Python 3.6 以后的版本 ,写法也可以更加简洁,直接像列表一样使用下标,如下
# match[0]
# match[1]
# match[2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值