Python之路-常用模块(re模块)

一.正则表达式

定义:具有特殊含义符号组合到一起用来描述字符或字符串的一种方法。内嵌在Python中,通过

re模块实现,被编译成一系列字节码,由C编写的匹配引擎执行。

1.常用匹配模式

2.常用的re模块函数

(1).  re.match()

决定RE是否在字符串刚开始的位置匹配。//注:这个方法并不是完全匹配。当pattern结束时若string还有剩

余字符,仍然视为成功。想要完全匹配,可以在表达式末尾加上边界匹配符‘$

格式:

re.match(pattern, string, flags=0)

print(re.match(‘com‘,‘comwww.runcomoob‘).group())

print(re.match(‘com‘,‘Comwww.runcomoob‘,re.I).group())

   执行结果如下:
    com
    com   (2).re.search()

格式:

re.search(pattern, string, flags=0)

re.search函数会在字符串内查找模式匹配,只要找到第一个匹配然后返回,如果字符串没有匹配,则返回None。

示例:

print(re.search(‘\dcom‘,‘www.4comrunoob.5com‘).group())

   执行结果如下:
   4com   (3).re.findall()

re.findall遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表。

格式:

re.findall(pattern, string, flags=0)

p = re.compile(r‘\d+‘)

     print(p.findall(‘o1n2m3k4‘))

   执行结果如下:
   [‘1‘, ‘2‘, ‘3‘, ‘4‘]  (4).一些注意点:

        (1)re.match与re.search与re.findall的区别:

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;

而re.search匹配整个字符串,直到找到一个匹配。

2)贪婪匹配与非贪婪匹配

*?,+?,??,{m,n}?    前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配


 

时间: 2024-10-04 07:18:17

Python之路-常用模块(re模块)的相关文章

python之路——常用模块

 什么是模块? 常见的场景:一个模块就是一个包含了python定义和申明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用python编写的代码(.py文件) 2.已被编译为共享库或DLL的C或C++扩展 3.包好一组模块的包 4.使用C编写并链接到python解释器的内置模块 为什么要使用模块? 如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过pytho

Python不归路_os和system模块

OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作,OS模块提供对操作系统进行调用的接口. 几个重要函数: os.getcwd()#查看当前所在路径,默认是Python程序所在路径 os.chdir()#切换目录,功能和linux中cd命令一样 os.curdir#返回当前目录'.' os.pardir#返回当前父目录'..' os.makedirs()#新建多级目录,功能和linux中的mkdir -p命令一样 os.removedirs

python之路-常用模块之random

random 1.取随机小数 : 数学计算# print(random.random()) # 取0-1之间的小数# print(random.uniform(1,2)) # 取1-2之间的小数 2. 取随机整数 : 彩票 抽奖# print(random.randint(1,2)) # [1,2],闭闭区间# print(random.randrange(1,2)) # [1,2),闭开区间# print(random.randrange(1,5,2)) # 以2为步长取整数,闭开区间 3.从

python之路---24 正则表达式 re模块

一.正则表达式 1.字符组 ① [abc] 匹配a或b或c ②  [a-z] 匹配a到z之间的所有字? [0-9]匹配所有阿拉伯数字 2.元字符 3.量词 4.重要搭配 ①  .*? ②  .*?x        找到下?个x为     ③  (?: 正则表达式)    非优先 5.分组 在正则中使?()进?分组. ?P<name>      对分组进行起名字 6.转义 r"正则表达式" 二.   re模块 1. findall 查找所有. 返回list .findall(

python之路--模块--景丽洋

python之路--常用模块 阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 configparse模块 logging模块 认识模块 返回顶部 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(

Python进阶(九)----os,sys,hashlib模块

Python进阶(九)----os,sys,hashlib模块 一丶序列化模块 什么是序列化: ? 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输,或文件保存) ? 真正的意义:变量从内存中变成可存储或传输的过程称之为序列化 json模块: ? 是所有语言公认的一种序列,最常用,支持的数据结构有限:"list(tuple), int .str ,bool,None,float." ### dumps ,loads : 主要网络传输 , 用于文件的读取. import j

python之路:Day05 --- 常用模块

本节内容 1.模块介绍 2.sys 3.os 4.time & datetime 模块 5.random 6.shutil 7.hashlib 8.logging 9.re正则表达式 10.shelve 11.xml 处理 12.yaml 处理 13.configpareser 14.subprocess 一.模块介绍 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能

Python之路-python(常用模块学习)

模块介绍 time &datetime模块 random os sys shutil shelve xml处理 yaml处理 configparser hashlib re正则表达式 1.模块: 定义:其实模块简单说就是一堆代码实现某个功能,它们是已经写好的.py文件.只需要用import应用即可. 分类: 1.自定义模块 2.内置标准模块(又称标准库) 3.开源模块    1.自定义模块,就是自己写的.py文件为了实现某个功能.    2.内置模块,就是python自身已经写好的某个功能,例如

python之路-基础篇-常用模块详解

什么是模块? 模块就是一个.py文件,文件名就是这个模块的模块名 这个文件中有写好的n个功能,当我要用其中的某个功能的时候,我只需要使用import方法来引入这个模块就可以使用这个模块中写好的功能,就不需要重复造轮子了 模块的分类: 1.内置模块(python自带的比如像os,sys等模块) 2.自定义模块,自己写的一些模块 3.第三方模块(开源模块) 模块导入方法: import module # 导入module模块下面的全部方法 from module.xx.xx import * # 导