中只有负下标里才能有零_Python中的正则表达式之re.Match类

# re.Match类的使用

# 导入模块

import re

# 调用re.match,re.search方法或者对re.finditer结果进行遍历,输出的结果都是re.Match对象

a = re.search(r'c', 'schjcfgucjkhkckkcuu')

print(a)

# dir可查看类属性方法

# print(dir(a))

# pos与endpos返回的是在哪一个范围内查找的下标

print(a.pos,a.endpos)

#  . 任意字符, * 出现任意次数

b = re.search(r'c.*j', 'schjcfgucjkhkckkcuu')

# span 输出匹配到的结果字符串的开始和结束下标

print(b.span())

98dc77e06fba5a908c8417e0bf4db526.png

# group 获取匹配的字符串结果

print(b.group())

# group可以传参,表示第某个分组,默认从第0组开始,0可不写

print(b.group(0))

# 查找的字符串未分组的情况下,默认只有一个组

# 超出会报错

# print(b.group(1))

c70f3e30fcc892e8bae329cf08cc155f.png

# group 方法表示正则表达式的分组

# 1. 在正则表达式里使用小括号()表示一个分组

# 2. 如果没有分组,默认只有一组

# 3. 分组的下标从0开始

c = re.search(r'6.*2.*8.*7', 'ads6dfsdf2dsf8dsf7asd')

print(c)

# 添加括号进行分组

# 下方正则表达式有 四个分组

c1 = re.search(r'(6.*)(2.*)(8.*7)', 'ads6dfsdf2dsf8dsf7asd')

print(c1)

# group默认拿第0组

print(c1.group())

# 第0组也就是把整个正则表达式当作一个整体

print(c1.group(0))

# 第1组

print(c1.group(1))

# 第2组

print(c1.group(2))

# 第3组

print(c1.group(3))

cfb6c93761a499cead763ae5d4f8bc74.png

# groups方法将分组变为一个元组输出

print(c1.groups())

# groupdict 方法将获取到的分组组成字典

print(c1.groupdict())

0b3dfb01e1e5cd8f1eb8b3aad59d7751.png

# (?P表达式) 可以给分组起一个名字

c2 = re.search(r'(6.*)(?P2.*)(8.*7)', 'ads6dfsdf2dsf8dsf7asd')

print(c2.groupdict())

# 通过名称获取组

print(c2.groupdict('zzz'))

# 正则可以通过分组名或者分组的下标获取到分组里匹配到的字符串

print(c2.group('zzz'))

print(c2.group(2))

# 分组的情况下,span默认匹配的是第0组的下标

print(c2.span())

# 可以指定第几组,来获取指定组的下标

print(c2.span(2))

6315bca075826d42ff9dec4e4d426d96.png

# re.compile方法

# 在re模块中,可以使用re.xxx方法调用函数,还可以调用re.compile方法得到一个对象,通过对象调用方法

# 直接调用re.search方法

d = re.search(r'a.*v','adfsdfvdff')

print(d)

# re.compile返回对象,通过对象调用

# 场景,当需要匹配多个字符串的时候,不用一直写正则表达式

e = re.compile(r'a.*v')

e1 = e.search('adfsdfvdff')

e2 = e.search('dfsalkjjoilv')

print(e1)

print(e2)

0ee8de2323eac63c92a7f28b2c296533.png

因小白实力有限,文中如有错误,欢迎公众号后台回复说明,便于修改,谢谢指教 如果你希望一切都能变得更加美好,就从改变自己开始。 90b2d464488c5c91104531dc317fcf2e.png 关注微信公众号“ 蜘蛛编程 ~发送001,领取***PyCharm工具安装包+注册码、笨办法学Python**文档 添加微信号"  BwcxTz1  "领取***Python爬虫开发与项目实战、Python程序错误故障排除17个问题**等更多优质文档

||如有侵权,请联系删除,谢谢!||

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值