Python--re模块的讲解与应用

简介: Python--re模块的讲解与应用

正则表达式

正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。

正则表达式是用来匹配处理字符串的 python 中使用正则表达式需要引入re模块

如:

import re #第一步,要引入re模块

a = re.findall("匹配规则", "要匹配的字符串") #第二步,调用模块函数

以列表形式返回匹配到的字符串

如:

!/usr/bin/env python

-- coding:utf-8 --

import re #第一步,要引入re模块
a = re.findall("匹配规则", "这个字符串是否有匹配规则的字符") #第二步,调用模块函数

//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjYzNzc4OA==.html
print(a) #以列表形式返回匹配到的字符串

打印出 ['匹配规则']

^元字符

字符串开始位置与匹配规则符合就匹配,否则不匹配

匹配字符串开头。在多行模式中匹配每一行的开头

^元字符如果写到[]字符集里就是反取

!/usr/bin/env python

-- coding:utf-8 --

import re #第一步,要引入re模块
a = re.findall("^匹配规则", "匹配规则这个字符串是否匹配") #字符串开始位置与匹配规则符合就匹配,否则不匹配
print(a) #以列表形式返回匹配到的字符串

打印出 ['匹配规则']

[^a-z]反取,匹配出除字母外的字符,^元字符如果写到字符集里就是反取

!/usr/bin/env python

-- coding:utf-8 --

import re #第一步,要引入re模块
a = re.findall("[^a-z]", "匹配s规则这s个字符串是否s匹配f规则则re则则则") #反取,匹配出除字母外的字符
print(a) #以列表形式返回匹配到的字符串

打印出 ['匹', '配', '规', '则', '这', '个', '字', '符', '串', '是', '否', '匹', '配', '规', '则', '则', '则', '则', '则']

$元字符

字符串结束位置与匹配规则符合就匹配,否则不匹配

匹配字符串末尾,在多行模式中匹配每一行的末尾

!/usr/bin/env python

-- coding:utf-8 --

import re #第一步,要引入re模块
a = re.findall("匹配规则$", "这个字符串是否匹配规则") #字符串结束位置与匹配规则符合就匹配,否则不匹配
print(a) #以列表形式返回匹配到的字符串

打印出 ['匹配规则']

*元字符

需要字符串里完全符合,匹配规则,就匹配,(规则里的*元字符)前面的一个字符可以是0个或多个原本字符

匹配前一个字符0或多次,贪婪匹配前导字符有多少个就匹配多少个很贪婪

如果规则里只有一个分组,尽量避免用*否则会有可能匹配出空字符串

!/usr/bin/env python

//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjYzNjIyNA==.html

-- coding:utf-8 --

import re #第一步,要引入re模块
a = re.findall("匹配规则", "这个字符串是否匹配规则则则则则") #需要字符串里完全符合,匹配规则,就匹配,(规则里的元字符)前面的一个字符可以是0或多个原本字符
print(a) #以列表形式返回匹配到的字符串

打印出 ['匹配规则则则则则']

+元字符

需要字符串里完全符合,匹配规则,就匹配,(规则里的+元字符)前面的一个字符可以是1个或多个原本字符

匹配前一个字符1次或无限次,贪婪匹配前导字符有多少个就匹配多少个很贪婪

!/usr/bin/env python

-- coding:gbk --

import re #第一步,要引入re模块
a = re.findall("匹配+", "匹配配配配配规则这个字符串是否匹配规则则则则则") #需要字符串里完全符合,匹配规则,就匹配,(规则里的+元字符)前面的一个字符可以是1个或多个原本字符
print(a) #以列表形式返回匹配到的字符串

打印出 ['匹配配配配配', '匹配']

相关文章
|
1天前
|
Java API 开发工具
如何将python应用编译到android运行
【6月更文挑战第27天】本文介绍在Ubuntu 20上搭建Android开发环境,包括安装JRE/JDK,设置环境变量,添加i386架构,安装依赖和编译工具。并通过`p4a`命令行工具进行apk构建和清理。
20 6
如何将python应用编译到android运行
|
2天前
|
开发者 Python
Python进阶:深入剖析闭包与装饰器的应用与技巧
Python进阶:深入剖析闭包与装饰器的应用与技巧
|
2天前
|
Python
python--os模块
python--os模块
9 2
|
2天前
|
Python
python-time模块
python-time模块
6 1
|
4天前
|
算法 数据安全/隐私保护 开发者
Python logger模块详细讲解
Python logger模块详细讲解
14 3
|
4天前
|
Linux Python
Python- jinja2模块详解
Python- jinja2模块详解
10 1
|
2天前
|
移动开发 Unix Linux
Python 常用模块全面分享
Python 常用模块全面分享
|
3天前
|
JSON Shell API
Python标准库中有哪些好用的模块
在命令行中使用Python标准库模块,如`http.server`、`gzip`、`base64`、`json.tool`和`calendar`,可以直接通过`python -m module_name`调用,无需额外编写代码。例如,`python -m http.server`启动一个简单的HTTP服务器,`python -m gzip -d file.gz`解压缩文件。`json.tool`用于美化显示JSON数据,而`calendar`模块则能输出日历信息。这些在临时需要相关功能时特别方便。
|
4天前
|
Web App开发 JSON Linux
Python—requests模块全面讲解
Python—requests模块全面讲解
14 0
|
4天前
|
缓存 自然语言处理 Java
Python的内存管理应用
Python的内存管理应用

热门文章

最新文章