简单的正则表达式

今天学了一些简单的正则表达式
之前一直觉得这玩意好像很麻烦的样子
其实实际学了之后感觉和通配符差不多
只要好好整理一下就没那么麻烦了
然后只要多用就能越来越熟练

import re

'字符串匹配'
re.findall('hello','hellohello hello aello bello')
"['hello', 'hello', 'hello']"
'可用|分割字符串'
re.findall('hello|aello','hellohello hello aello bello')
"['hello', 'hello', 'hello', 'aello']"

'.匹配任意单个字符'
re.findall('.ello','hello xello ballo @ello \nello')
"['hello', 'xello', '@ello', '\ello']"

'单个字符条件匹配'
re.findall('[hp]ello','hello pello aello')
"['hello', 'pello']"
"[]中为单个匹配字符的白名单"

re.findall('[^hp]ello','hello pello aello')
"['aello']"
"[]中为单个匹配字符的黑名单"

re.findall('^[hp]ello','hello pello aello')
"['hello']"
"这里限定了被匹配语句的开头必须是白名单中的"

'匹配单个数字'
re.findall('\d','abc123a1b2c3')
"['1', '2', '3', '1', '2', '3']"

'匹配单个数字以及字母(包括大小写)'
re.findall('\w','012ascv@5#1%S7FS161SD1')
"['0', '1', '2', 'a', 's', 'c', 'v', '5', '1', 'S', '7', 'F', 'S', '1', '6', '1', 'S', 'D', '1']"
'匹配两个'
re.findall('\w\w','012ascv@5#1%S7FS161SD1')
"['01', '2a', 'sc', 'S7', 'FS', '16', '1S', 'D1']"

'匹配空白字符以及空格'
re.findall('\s','abc sfas \r \n')
"[' ', ' ', '\r', ' ', '\n']"

'*表示左边第一个字符出现任意次,+代表左边第一个字符出现一次及以上'
re.findall('a*b+','bbbbbaabbbb')
"['bbbbb', 'aabbbb']"
'?代表左边第一个出现0次或1次,{}可指定左边字符出现次数,{}中可用逗号分割出现次数'
re.findall('a?b{3,6}','abbb bbbbbb bb aabbbb bbb')
"['abbb', 'bbbbbb', 'abbbb', 'bbb']"

这里为了方便代码里就没把正则的结果列表给赋了而是直接把结果打在了下方注释中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值