el表达式中换行_Python正则表达式,这一篇就够了!

本文详细介绍了Python的re模块,包括常量如IGNORECASE、ASCII、DOTALL等的用途,以及函数如search、match、split、sub等的用法。通过实例代码演示了各种常量和函数的功能,强调了正则对象Pattern的使用场景和优势,以及在实际应用中需要注意的事项。
摘要由CSDN通过智能技术生成

今天我们主要来学习一下 正则表达式在 Python语言 中的应用

大多数编程语言的正则表达式设计都师从Perl,所以语法基本相似,不同的是每种语言都有自己的函数去支持正则,今天我们就来学习 Python中关于 正则表达式的函数。

3c20239ebba58c9ff7967797c7910f67.png

re模块主要定义了9个常量、12个函数、1个异常,每个常量和函数猪哥都会通过实际代码案例讲解,让大家能更直观的了解其作用!

注:为避免出现代码格式错乱,猪哥尽量使用代码截图演示哦。

一、re模块简介

聊到Python正则表达式的支持,首先肯定会想到re库,这是一个Python处理文本的标准库

标准库的意思表示这是一个 Python内置模块,不需要额外下载,目前Python内置模块大概有300个。可以在这里查看Python所有的内置模块: https:// docs.python.org/3/py-mo dindex.html#cap-r

因为re是内置模块,所以不需要再下载,使用时直接引入即可:

import re

re模块官方文档:https://docs.python.org/zh-cn/3.8/library/re.html

re模块库源码:https://github.com/python/cpython/blob/3.8/Lib/re.py

二、re模块常量

常量即表示不可更改的变量,一般用于做标记。

re模块中有9个常量,常量的值都是int类型!

8eaad9964203bfba30a33ed92265e276.png

上图我们可以看到,所有的常量都是在RegexFlag枚举类来实现,这是在Python 3.6做的改版。在Python 3.6以前版本是直接将常量写在re.py中,使用枚举的好处就是方便管理和使用!

de979e5f5584d728a5bc3610b607cbdd.png

下面我们来快速学习这些常量的作用及如何使用他们,按常用度排序!

1. IGNORECASE

语法: re.IGNORECASE 或简写为 re.I

作用: 进行忽略大小写匹配。

代码案例:

e6e9c70e8fa7c21fd33e02b6d5bf4340.png

在默认匹配模式下大写字母B无法匹配小写字母b,而在 忽略大小写 模式下是可以的。

2. ASCII

语法: re.ASCII 或简写为 re.A

作用: 顾名思义,ASCII表示ASCII码的意思,让 w, W, b, B, d, D, sS 只匹配ASCII,而不是Unicode。

代码案例:

b76d15106fdb41ed446e3aab2caf1943.png


在默认匹配模式下w+匹配到了所有字符串,而在ASCII模式下,只匹配到了a、b、c(ASCII编码支持的字符)。

注意:这只对字符串匹配模式有效,对字节匹配模式无效。

3. DOTALL

语法: re.DOTALL 或简写为 re.S

作用: DOT表示.,ALL表示所有,连起来就是.匹配所有,包括换行符n默认模式下.是不能匹配行符n

代码案例:

5ccfa4ef8bde0bb9ce39bcafcef5befc.png

在默认匹配模式下.并没有匹配换行符n,而是将字符串分开匹配;而在re.DOTALL模式下,换行符n与字符串一起被匹配到。

注意:默认匹配模式下.并不会匹配换行符n

4. MULTILINE

语法: re.MULTILINE 或简写为 re.M<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值