正则规则和re模块

正则规则

1、本身是哪一个字符,就匹配字符串中的哪一个字符;
2、字符组:[字符],一个字符组匹配一个字符;
3、非字符组:[^],匹配不符合字符组中的内容
3、元字符:

  1. \d:表示0-9任意数字
  2. \w:表示数字、字母、下划线
  3. \s:表示空格、换行符(\n)、制表符(\t)
  4. \D:表示非数字
  5. \W:表示非数字字母下划线
  6. \S:表示非空格、换行符、制表符
  7. .:表示除换行符之外的任意内容
  8. ^:表示一个字符的开始
  9. $:表示一个字符的结束
  10. |:表示或,要匹配的长字符总在|之前
  11. ():表示分组
    4、量词:
  12. {n}:表示出现n次
  13. {n,}:表示至少出现n次
  14. {n,m}:表示至少出现n次,至多出现m次
  15. *:表示出现0次或多次
  16. +:表示出现1次或多次
  17. ?:表示出现0次或1次
    5、正则默认贪婪匹配,即在符合量词条件下尽可能多匹配
    6、非贪婪匹配(惰性匹配):量词后面的?才是非贪婪模式
    元字符+量词+?+x:表示按照元字符规则在量词范围内匹配,遇到x就结束
  18. .*?x:匹配任意内容任意多次直到遇见x就结束

re模块

1、re.findall()
返回列表

import re
res = re.findall('\d+', 'as123rt566')
print(res)

['123', '566']

2、re.search()
返回一个对象且这个对象是从待匹配对象中匹配到的第一个符合条件的项,要用到group()来取值,如果没有符合条件的匹配项则输出None

import re
res = re.search('\d+', 'as123rt566')
print(res)
print(res.group())

<_sre.SRE_Match object; span=(2, 5), match='123'>
123

3、re.match()
只能从待匹配对象开头开始匹配,相当于re.search(’^/d+’,str)

res = re.match('\d+', 'as123rt566')
print(res)

None
res = re.match('\d+',
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值