美文网首页
Python之re模块

Python之re模块

作者: Joening | 来源:发表于2021-09-06 14:55 被阅读0次

import re
不要起一个.py的名字, 这个名字和模块名不能同名

findall

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

ret = re.findall('\d+','admin1232kdjfdkfj2323') #正则表达式, 带匹配的字符串,flag
print(ret) #['1232', '2323']

search

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

 ret = re.search('\d+','admin1232kdjfdkfj2323')
 print(ret) #<re.Match object; span=(5, 9), match='1232'> 内存地址 正则匹配的结果
 print(ret.group()) #1232  通过ret.group获取真正的结果

match

match 从头开始匹配, 相当于search中的正则表达式加上一个^
 ret = re.match('\d+','admin1232kdjfdkfj2323')
 print(ret) #None
 ret = re.match('\d+','123adminkdjfdkfj2323')
 print(ret) #<re.Match object; span=(0, 3), match='123'>

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

split 切割

 s = 'qiaoning|wangtao|lixianglong'
 print(s.split('|')) #['qiaoning', 'wangtao', 'lixianglong']
 s = 'qiaoning234wangtao4567lixianglong8983948394'
 ret = re.split('\d+',s)
 print(ret) #['qiaoning', 'wangtao', 'lixianglong', '']

sub 谁 旧的 新的 替换次数

 ret = re.sub('\d+','H','qiaoning234wangtao4567lixianglong898394')
 print(ret) #qiaoningHwangtaoHlixianglongH
 ret = re.sub('\d+','H','qiaoning234wangtao4567lixianglong898394',1)
 # print(ret) #qiaoningHwangtao4567lixianglong898394

subn 返回一个元组, 第二个元素是替换的次数

 ret = re.subn('\d+','H','qiaoning234wangtao4567lixianglong898394')
 print(ret) #('qiaoningHwangtaoHlixianglongH', 3)

compile

节省使用正则表达式解决问题的时间
把正则表达式编译成字节码
在多次使用的过程中,不会多次编译

 ret = re.compile('\d+')  #编译
 print(ret) #re.compile('\\d+')
 res = ret.findall('qiaoning234wangtao4567lixianglong898394')
 print(res) #['234', '4567', '898394']
 ree = ret.search('qiaoning234wangtao4567lixianglong898394')
 print(ree) #<re.Match object; span=(8, 11), match='234'>
 print(ree.group()) #234

finditer

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

 ret = re.('\d+','qiaoning234wangtao4567lixianglong898394')
 print(ret)  #<callable_iterator object at 0x0000018F53E824E0>
 for el in ret:
     print(el.group())
#结果
 234
 4567
 898394

相关文章

  • 21.Python之re模块

    Python之re模块 re模块介绍re 模块使 Python 语言拥有全部的正则表达式功能。 re模块的内置方法...

  • re

    python模块之re re:官方文档是最好的模块表达说明。 Regular expression operati...

  • Python ☞ day 11

    Python学习笔记之 正则表达式 re模块概述:Python自1.5以后增加了re的模块,提供了正则表达式模式...

  • python(学会正则走天下)

    python通过re模块来实现。本篇文章着重对Python的RE进行介绍re 模块首先通过 re.compiler...

  • Python 脚本之统计基因组文件中染色体长度及N碱基数目

    模块介绍 re模块 re模块是Python中的正则表达式调用模块,在python中,通过将正则表达式内嵌集成re模...

  • Python之re模块

    一、正则表达式 re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则...

  • Python之re模块

    import re不要起一个.py的名字, 这个名字和模块名不能同名 findall 匹配所有 每一项都是列表的一...

  • python正则表达式

    re模块Python增加了re模块使python语言拥有全部正则表达式的功能。re.match(pattern,s...

  • python --正则表达式-re模块

    所有关于正则表达式的操作都使用 python 标准库中的 re 模块。 Python中的re模块 re.compi...

  • Python 正则表达式——re模块介绍

    Python 正则表达式 re 模块使 Python 语言拥有全部的正则表达式功能,re模块常用方法: re.ma...

网友评论

      本文标题:Python之re模块

      本文链接:https://www.haomeiwen.com/subject/yjgewltx.html