python——正则表达式(1)

简介: python——正则表达式(1)

正则表达式是一个强大的字符串处理工具,几乎所有的字符串操作都可以通过正则表达式来完成,其本质是一个特殊的字符序列,可以方便的检查一个字符串是否与我们定义的字符序列的某种模式相匹配。

正则表达式并不是 Python 所特有的,几乎所有编程语言都支持正则表达式,Python 提供了内置模块 re 和第三方模块 regex 来支持正则表达式,regex 模块提供了与 re 模块兼容的 API 接口,同时还提供了额外的功能和更全面的 Unicode 支持,本文只介绍 re 模块。

我们先来熟悉一下正则表达式的基本语法。

字符  说明
. 默认情况,匹配除了换行的任意字符;如果指定了标签 DOTALL,则匹配包括换行符的任意字符
^ 匹配字符串的开头,在 MULTILINE 模式也匹配换行后的首个符号
$ 匹配字符串尾或者换行符的前一个字符,在 MULTILINE 模式匹配换行符的前一个字符
* 匹配前一个字符 0 到无限次
+ 匹配前一个字符 1 到无限次
? 匹配前一个字符 0 次或 1 次
{m} 匹配前一个字符 m 次
{m, n}  匹配前一个字符 m 到 n 次
*? +? ?? {m,n}? 使 *、+、?、{m,n} 变成非贪婪模式,也就是使这些匹配次数不定的表达式尽可能少的匹配
\ 转义特殊字符
[...] 用于表示一个字符集合
| 匹配 | 两边任意表达式
(...) 将括起来的表达式分组,
(?aiLmsux)  aiLmsux 每一个字符代表一个匹配模式,可选多个
(?:…) (...) 的不分组版本
(?P<name>…) 分组,除了原有的编号外再指定一个额外的别名
(?P=name) 引用别名为 name 的分组匹配到的字符串
(?#…) # 后面的将作为注释被忽略
(?=…) 匹配 … 的内容,但是并不消费样式的内容
(?!…) 匹配 … 不符合的情况
(?<=…)  匹配字符串的当前位置,它的前面匹配 … 的内容到当前位置
(?<!…)  匹配当前位置之前不是 ... 的样式
(?(id/name)yes-pattern|no-pattern)  如果给定的 id 或 name 存在,将会尝试匹配 yes-pattern ,否则就尝试匹配 no-pattern,no-pattern 可选,也可以被忽略
\number 匹配数字代表的组合
\A  只匹配字符串开始
\b  匹配空字符串,但只在单词开始或结尾的位置
\B  匹配空字符串,但不能在词的开头或者结尾
\d  主要匹配数字 [0-9]
\D  匹配任何非十进制数字的字符
\s  匹配空白字符,主要包括:空格 \t \n \r \f \v
\S  匹配任何非空白字符
\w  匹配 [a-zA-Z0-9_]
\W  匹配非单词字符
\Z  只匹配字符串尾

相关文章
|
5月前
|
Python
"揭秘!Python如何运用神秘的正则表达式,轻松穿梭于网页迷宫,一键抓取隐藏链接?"
【8月更文挑战第21天】Python凭借其强大的编程能力,在数据抓取和网页解析领域表现出高效与灵活。通过结合requests库进行网页请求及正则表达式进行复杂文本模式匹配,可轻松提取网页信息。本示例展示如何使用Python和正则表达式解析网页链接。首先确保已安装requests库,可通过`pip install requests`安装。接着,利用requests获取网页内容,并使用正则表达式提取所有`&lt;a&gt;`标签的`href`属性。
62 0
|
2月前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
73 5
|
2月前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
3月前
|
Python
【收藏备用】Python正则表达式的7个实用技巧
【收藏备用】Python正则表达式的7个实用技巧
37 1
|
3月前
|
数据安全/隐私保护 Python
Python实用正则表达式归纳
Python实用正则表达式归纳
26 3
|
3月前
|
Python
Python 正则表达式高级应用指南
正则表达式是文本模式匹配的强大工具,Python 的 `re` 模块支持其操作。本文介绍正则表达式的高级应用,包括复杂模式匹配(如邮箱、电话号码)、分组与提取、替换操作、多行匹配以及贪婪与非贪婪模式的区别。通过示例代码展示了如何灵活运用这些技巧解决实际问题。
37 7
|
3月前
|
JavaScript 前端开发 Scala
Python学习十:正则表达式
这篇文章是关于Python中正则表达式的使用,包括re模块的函数、特殊字符、匹配模式以及贪婪与非贪婪模式的详细介绍。
28 0
|
3月前
|
数据采集 开发者 Python
Python正则表达式之re.compile函数
`re.compile`是Python正则表达式处理中一个强大的工具,它通过预先编译正则表达式,不仅提升了执行效率,还增强了代码的组织性和可读性。掌握其使用,对于涉及文本分析、数据清洗、日志处理等领域的Python开发者来说,是非常必要的技能。正确并高效地应用这一功能,可以显著提升程序的性能和维护性。
202 0
|
4月前
|
索引 Python
30天拿下Python之正则表达式
30天拿下Python之正则表达式
24 0
|
4月前
|
数据采集 Python
Python正则表达式提取车牌号
Python正则表达式提取车牌号
58 0