python基础正则表达式基本语句

调用re模块

import re
re.findall('匹配规则','处理匹配规则的字符串')
#去字符串里面把所有匹配的结果通过列表的形式返回
#元字符:
print(re.findall('YM.K','JAHUHJAYMMKHUHU'))#通配符
print(re.findall('^ymmk','ymmkhingujinymmkhuhibh'))#尖角符:起始位置匹配
print(re.findall('ymmk$','ymmkjhuhuhijihuhuhhuhymmk'))
print(re.findall('^ymmk$','ymmkjhuhuhijihuhuhhuhymmk'))
print(re.findall('ym.*k','ashoymk'))#*0-多,可以不加
print(re.findall('ym.+k','adghilymmmkhhiji'))#1-多
print(re.findall('ym.?k','aaaaymk'))#0-1
print(re.findall('ym.{1,5}k','asghiymhuytkk'))
print(re.findall('ym.{,5}k','asghiymhymuytkk'))
#{.6}{6.}
print(re.findall('ym[a-k]k','ymak'))
#[-]表示一种范围
print(re.findall('ym[^k]k','ymkk'))
#[^]表示非
print(re.findall('ym[\d]k','ym5k'))
#[\d]表示匹配任意数字
#[] 元字符在类别内没有特殊意义
'''
'\d [0-9]
\D[^0-9]
\s 任何空白字符[\t\r\n\f\v]
\S 任何非空白字符[^\t\r\n\f\v]
\w 字母数字字符 [a-z A-Z 0-9 _]
\W [^a-z A-Z 0-9 _]
\b 位置信息
'''
print(re.findall(r'h\b','h---,python'))
#函数#
#re.match(pattern,string,flags=0)
print(re.match('ymmk','ymmkhhh'))
#math只能得到对象,没有输出值,只匹配起始位置!
print(re.search('ymmk','ymmkhhh'))
#匹配对象,任意位置。
r=re.match('ymmk','ymmkhhh')
#位置信息
# start() end() span()
print(r.span())
print(re.search('ymmk','ahshsiymmkhsaiidj').group())
#print(re.finditer())
#返回对象
print(re.sub('love','hate','I love apple,love pears,love banbans',2))
#替换
print(re.subn('love','hate','I love apple,love pears,love banbans',2))
print(re.split('\d','a1b2d5f'))
re.compile()
#讲规封装成对象

在这里插入图片描述
原生字符串
#r 将含有含义的字符串传换成正则可以解释的普通字符
print(re.search(’\ba’,‘I love apple,love pears,love banbans’).group())
print(re.search(r’\bapple’,‘I love apple,love pears,love banbans’).group())

正则分组:在已有数据中找数据
#正则分组:在已经匹配到的数据继续匹配
message='yhello,my name is _ymmksjjj'
r=re.search('y\w*',message)
print(r.group())
r=re.match('y(\w+)',message)
print(r.groups()) #分组结果
r=re.search('(?P<name>_\w+)',message)
#给分组起一个名字
print(r.groupdict())
r1=re.findall('y\w+',message)
#匹配所有满足条件的字符串
print(r1)
r1=re.findall('y(\w+)',message)
print(r1)
#匹配时先整体匹配后匹配分组
r1=re.findall('y(\w+)(sj)',message)
print(r1)
message1='hello I ymmk love eating apples'
r2=re.split('ymmk',message1,1)
print(r2)
r2=re.split('(ymmk)',message1,1)
print(r2)
#通过分组拿到划分的字符串

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值