这篇文章主要介绍了Python正则表达式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
文章目录
0、前言
1、正则表达式模式
2、正则表达式修饰符 - 可选标志
2.1、`re.IGNORECASE`(`re.I`)
2.2、`re.ASCII`(`re.A`)
2.3、`re.DOTALL`(`re.S`)
2.4、`re.MULTILINE`(`re.M`)
2.5、`re.VERBOSE`(re.X)
2.6、修饰符的叠加
3、正则表达式函数
Example 3.3.1
Example 3.2.1
Example 3.1.1
Example 3.1.2
Example 3.1.3
3.1、查找单个匹配项的函数
3.2、查找多个匹配项的函数
3.3、分割
import re
0、前言
本篇笔记基于菜鸟教程以及该知乎教程,融入了自己的一些学习心得。
1、正则表达式模式
高亮处是我的补充,因为根据实际情况确实是能匹配到的
这边我就偷点懒了哈,直接截的是菜鸟教程的图。
2、正则表达式修饰符 - 可选标志
2.1、re.IGNORECASE
(re.I
)
虽然第1节是常量,但我们必须先简要提一下re.findall
这个函数,因为它是贯穿这一节的函数。re.findall(模式中,字符串,国旗=0)代码>:从字符串任意位置查找,返回一个列表。<代码> 代码>模式是欲匹配的字符(串),<代码>字符串> 代码是查找源,<代码>标记代码>是修饰符,默认是0
<代码>再保险。我> 代码的作用是忽略字符大小写
text =,“我# 39;m Jasmine-Feng只My student number is 没有一只321432“pattern =, r" Jasmine-FENG"打印(& # 39;默认值:,& # 39;,,re.findall(模式、文本))打印(& # 39;Ignore 上层/lower 案例:,& # 39;,,re.findall(模式、文本、旗帜=re.I)
注意:模式被赋了一个<强> r字符串>强劲,这个r字符串的作用是避免转义,r是原始的缩写,也就是保持原样的意思,可看这篇博文。一般来说,使用正则表达式都会用到这个r字符串。
默认值:,,[]Ignore 上层/lower 案例:,,(& # 39;Jasmine-Feng& # 39;] Process finished with exit code 0
在默认情况下,区分大小写,找不到ENG;若不区分,则可以找到ENG。
<强> 2.2,<代码> re.ASCII 代码>(<代码> re.A> 代码)强>
<代码>再保险。代码>的作用是只匹配ASCII码支持的字符,那么具体指哪些字符呢?下图来自百度百科。
text =,“我是Jasmine-Feng只我的学号是没有只321432“pattern =, r" \ w +“打印(& # 39;默认值:,& # 39;,,re.findall(模式、文本))打印(& # 39;ASCII: & # 39;,, re.findall(模式、文本、旗帜=re.A)
<代码> \ w +> 代码的作用是匹配一个或多个字母数字下划线汉字
默认值:,,(& # 39;我是茉莉花# 39;,,& # 39;冯# 39;,,& # 39;我的学号是没有# 39;,,& # 39;321432 & # 39;]ASCII:,,(& # 39;茉莉花# 39;,,& # 39;冯# 39;,,& # 39;没有# 39;,,& # 39;321432 & # 39;]Process finished with exit code 0
<强> 2.3,<代码> re.DOTALL 代码>(<代码> re.S> 代码)强>
在正则表达式模式中,<代码>。> 代码是用来
text =,“我\ t是Jasmine-F \能只我%的吗?学号是没有只321432“pattern =, " # 39;。* & # 39;打印(& # 39;默认值:,& # 39;,,re.findall(模式、文本))打印(& # 39;DOTALL:, & # 39;,, re.findall(模式、文本re.S))Python正则表达式的示例分析