Python之“正则表达式”

一、元字符

二、限定符

三、re 模板

        1、match() 函数:

import re # 导入

pattern = r'\d\.\d+' # +限定符,\d 0-9数字出现1次或多次
s='I study Python 3.11 every day' # 待匹配字符串
match=re.match(pattern,s,re.I)
print(match)
# 输出:None

s2='3.11Python I study every day'
match2=re.match(pattern,s2)
print(match2)
# 输出:<re.Match object; span=(0, 4), match='3.11'>

print('匹配值的起始位置:',match2.start())
# 输出:匹配值的起始位置: 0
print('匹配值的结束位置:',match2.end())
# 输出:匹配值的结束位置: 4
print('匹配区间的位置元素:',match2.span())
# 输出:匹配区间的位置元素: (0, 4)
print('待匹配的字符串:',match2.string)
# 输出:待匹配的字符串: 3.11Python I study every day
print('匹配的数据:',match2.group())
# 输出:匹配的数据: 3.11

         2、search() 函数:

import re
pattern=r'\d\.\d+'
s='I study Python3.11 every day Python2.7 I love you'
match=re.search(pattern,s)
s2='4.10 Python I study every day'
match2=re.search(pattern,s2)
s3='I study Python every day'
match3=re.search(pattern,s3)

print(match)
# 输出:<re.Match object; span=(14, 18), match='3.11'>
print(match2)
# 输出:<re.Match object; span=(0, 4), match='4.10'>
print(match3)
# 输出:None

print(match.group())
# 输出:3.11
print(match2.group())
# 输出:4.10

         3、findall() 函数:

import re # 导入
pattern = r'\d\.\d+' # +限定符,\d 0-9数字出现1次或多次
s = 'I study Python3.11 every day Python2.7 I love you'
s2 = '4.10 Python I study every day'
s3 = 'I study Python every day'
lst = re.findall(pattern,s)
lst2 = re.findall(pattern,s2)
lst3 = re.findall(pattern,s3)

print(lst)
# 输出:['3.11', '2.7']
print(lst2)
# 输出:['4.10']
print(lst3)
# 输出:[]

        4、sub() 函数:

import re
pattern='黑客|破解|反爬'
s='我想学习Python,想破解一些VIP视频,Python可以实现无底线反爬吗?'
new_s=re.sub(pattern,'XXX',s)
print(new_s)
# 输出:我想学习Python,想XXX一些VIP视频,Python可以实现无底线XXX吗?

        5、split() 函数:

import re
s2='https://www.baidu.com/s?wd=ysj&rsv_spt=1'
pattern2='[?|&]'
lst=re.split(pattern2,s2)
print(lst)
# 输出:['https://www.baidu.com/s', 'wd=ysj', 'rsv_spt=1']

微语:你未必万丈光芒,但始终温暖有光。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值