Python 正则表达式的学习整理笔记

1. 正则表达式的常用操作符:
.  表示任何单个字符
[]  表示字符集,对单个字符给出取值范围
[^] 表示非字符集,对单个字符给出排除范围
*   前一个字符0到无限次扩展
+   前一个字符1到无限次扩展
?   前一个字符的0-1次扩展
|   在其左右任选一个
{m} 表示扩展前一个字符m次, 如ab{2}c 表示 abbc
{m,n} 表示扩展前一个字符m-n次,
^   匹配字符串开头, ^abc 表示一个以abc开头的字符串
$   匹配字符串结尾, abc$表示一个以abc结尾的字符串
()  分组标记,内部只能用 ‘|’
\d  数字,等价于[0-9]
\w  单词字符,等价于[A-Za-z0-9]

2. re库方法:

re使用raw string类型表示正则表达式,表达式为 r'text'

re.search()  #在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象

       search()函数包含三个参数,第一个为正则表达式,第二个为搜索的字符串,第三个为flag

re.match()  #从一个字符串的开始位置起匹配正则表达式,返回match对象

re.findall() # 搜索字符串, 以列表类型返回全部能匹配的字符串

re.split() #将一个字符串按照正则表达式匹配结果进行分割,返回列表类型

       split()函数除了包含以上三个参数之外,还有个count参数,用于设定分裂数,达到分裂数后,剩下的部分全作为一个整体。

re.finditer() #搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象

re.sub() #在一个字符串中替换所有匹配正则表达式的字串,返回替换后的字符串

      sub()函数除了包含以上三个参数之外,第二个参数为用来替换的字符串,以及count 替换次数

 

3. match对象的属性:
.string 待匹配的文本
.re  匹配时使用的pattern对象
.pos 正则表达式搜索文本的开始位置
.endpos 正则表达式搜索文本的结束位置

 

4. match对象的方法:
.group(0) 获取匹配后的字符串
.start() 匹配字符串在原始字符串的开头位置
.end() 匹配字符串在原始字符串的结束位置
.span() 返回(.start(), .end())

 

import re


match1 = re.search(r'PY.+N','PYANBNCNDN')
print(match1.group(0))
# PYANBNCNDN
match2 = re.search(r'PY.+?N','PYANBNCNDN')
print(match2.group(0))
# PYAN
match3 = re.search(r'PY.*?N','PYANBNCNDN')
print(match3.group(0))
# PYAN
match4 = re.search(r'PY.{2,3}?N','PYANBNCNDN')
print(match4.group(0))
# PYANBN

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值