博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python re模块
阅读量:5127 次
发布时间:2019-06-13

本文共 1249 字,大约阅读时间需要 4 分钟。

re模块

  调用方法:import re

查找:

  findall : 匹配所有 每一项都是列表中的一个元素

import reret = re.findall('\d+','sjkhk172按实际花费928') # 正则表达式,带匹配的字符串,flagret = re.findall('\d','sjkhk172按实际花费928') # 正则表达式,带匹配的字符串,flagprint(ret)

  search : 只匹配从左到右的第一个,得到的不是直接的结果,而是一个变量,通过这个变量的group方法来获取结果如果没有匹配到,会返回None,使用group会报错

import re ret = re.search('\d+','sjkhk172按实际花费928')print(ret)  # 内存地址,这是一个正则匹配的结果print(ret.group()) # 通过ret.group()获取真正的结果

  match 从头开始匹配,相当于search中的正则表达式加上一个^

import reret = re.match('\d+$','172sjkhk按实际花费928')print(ret)

字符串处理的扩展 : 替换 切割

  split 切割

s = 'alex83taibai40egon25'ret = re.split('\d+',s)print(ret)

  sub/subn 替换

import re# sub # 谁 旧的 新的 替换次数ret = re.sub('\d+','H','alex83taibai40egon25')print(ret)ret = re.sub('\d+','H','alex83taibai40egon25',1)print(ret)# subn 返回一个元组,第二个元素是替换的次数ret = re.subn('\d+','H','alex83taibai40egon25')print(ret)

re模块的进阶 : 时间/空间

  compile 节省你使用正则表达式解决问题的时间

  编译 正则表达式 编译成 字节码
  在多次使用的过程中 不会多次编译

ret = re.compile('\d+')   # 已经完成编译了print(ret)res = ret.findall('alex83taibai40egon25')print(res)res = ret.search('sjkhk172按实际花费928')print(res.group())

   finditer 节省你使用正则表达式解决问题的空间/内存

import reret = re.finditer('\d+','alex83taibai40egon25')for i in ret:    print(i.group())

 

转载于:https://www.cnblogs.com/zbw582922417/p/9493791.html

你可能感兴趣的文章
Java设计模式之《外观模式》及应用场景
查看>>
JSON API免费接口
查看>>
【瞎想】TDD与汉字;FDD与英语字母
查看>>
MongoDB基础教程系列--第九篇 MongoDB 分片
查看>>
老李思考:看夏洛特烦恼有感
查看>>
HyperLedger Fabric 1.4 问题汇总(16)
查看>>
HyperLedger Fabric 1.4 单机单节点部署(10.2)
查看>>
TextBox显示时间,去掉讨厌的0:00:00
查看>>
Expression Blend实例中文教程(13) - 控件模板快速入门ControlTemplates
查看>>
scrapy--json(喜马拉雅Fm)(二)
查看>>
让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
查看>>
Hololens 开发环境配置(转)
查看>>
mysql view(视图)
查看>>
电子书下载:Pro ASP.NET MVC Framework
查看>>
排序算法总结
查看>>
板载USB针有学问-小心安装免大祸
查看>>
[转载]藏在正则表达式里的陷阱
查看>>
折线图
查看>>
原生js实现一个连连看小游戏(二)-----------生成随机不重复数字
查看>>
常见的医学基因筛查检测 | genetic testing | 相癌症早筛 | 液体活检
查看>>