引言
re 库是Python标准库的一部分,不需要额外安装。要使用 re 库,只需在代码中导入它
文章目录
- 引言
 - 一、re库的定义
 - 二、`re` 库中常用的功能和函数:
 - 2.1 搜索模式
 - 2.2 查找模式
 - 2.3 替换模式
 - 2.4 分割模式
 - 2.5 编译模式
 - 2.6 错误信息
 - 2.7 支持的模式
 - 2.8 匹配对象
 
- 三、正则表达式的定义
 - 四、正则表达式的元字符及其含义
 - 4.1 点号 `.`
 - 4.2 星号 `*`
 - 4.3 加号 `+`
 - 4.4 问号 `?`
 - 4.5 竖线 `|`
 - 4.6 括号 `()`
 - 4.7 反斜杠 `\`
 - 4.8 反斜杠后跟数字 `\n`
 - 4.9 美元符号 `$`
 - 4.10 井号 `#`
 - 4.11 双引号 `"`
 - 4.12 单引号 `'`
 - 4.13 花括号 `{n,m}`
 - 4.14 花括号 `{n,}`
 - 4.15 花括号 `{n}`
 
- 五、总结(思维导图)
 
一、re库的定义
re库 是一个内置的库,用于处理正则表达式(Regular Expression)
正则表达式是一种强大的文本处理工具,可以用于搜索、匹配、替换、分割字符串等操作
二、re 库中常用的功能和函数:
 
2.1 搜索模式
re.search(pattern, string, flags=0): 在字符串中搜索正则表达式的匹配re.match(pattern, string, flags=0): 在字符串的开始位置搜索正则表达式的匹配re.fullmatch(pattern, string, flags=0): 在字符串的整个长度上搜索正则表达式的匹配
2.2 查找模式
re.findall(pattern, string, flags=0): 在字符串中查找所有匹配正则表达式的子串,并返回一个列表re.finditer(pattern, string, flags=0): 在字符串中查找所有匹配正则表达式的子串,并返回一个迭代器
2.3 替换模式
re.sub(pattern, repl, string, count=0, flags=0): 在字符串中替换所有匹配正则表达式的子串re.subn(pattern, repl, string, count=0, flags=0): 在字符串中替换所有匹配正则表达式的子串,并返回替换后的字符串和替换次数
2.4 分割模式
re.split(pattern, string, maxsplit=-1, flags=0): 在字符串中根据正则表达式的匹配进行分割,并返回一个列表
2.5 编译模式
re.compile(pattern, flags=0): 将正则表达式编译成一个模式对象,以便重复使用
2.6 错误信息
re.error: 捕获re模块中的错误
2.7 支持的模式
re.I: 忽略大小写。re.M: 多行模式,影响^和$的行为re.S: 点号匹配所有字符,包括换行符re.X: 扩展模式,允许正则表达式中包含注释和空白字符
2.8 匹配对象
match对象:表示匹配到的结果。match对象可以访问group()、start()、end()、span()等方法
三、正则表达式的定义
正则表达式(Regular Expression)是一种强大的文本模式匹配工具,它允许你定义一系列字符串的规则,然后使用这些规则来查找、匹配或替换文本中的模式
在正则表达式中,有一些特殊的字符被称为“元字符”(Metacharacters),它们用来表示特殊的字符集、定位点、重复匹配等
四、正则表达式的元字符及其含义
4.1 点号 .
 
- 匹配除换行符 
\n之外的所有单个字符 
4.2 星号 *
 
- 匹配前面的字符零次或多次
 - 例如,
a*匹配 “a”, “aa”, “aaa”, … 以及任何长度的字符串 
4.3 加号 +
 
- 匹配前面的字符一次或多次
 - 例如,
a+匹配 “aa”, “aaa”, … 以及任何长度的字符串 
4.4 问号 ?
 
- 匹配前面的字符零次或一次
 - 例如,
a?匹配 “a” 或 “” 
4.5 竖线 |
 
- 表示逻辑或,匹配任意一个选项
 - 例如,
a|b匹配 “a” 或 “b” 
4.6 括号 ()
 
- 用于分组,可以用来组合匹配模式
 - 例如,
(a|b)+匹配 “aa” 或 “ab” 或 “aaa” 或 “aba” 等 
4.7 反斜杠 \
 
- 用于转义字符,使其失去特殊含义
 - 例如,
\d匹配一个数字,而d则匹配字符 “d” 
4.8 反斜杠后跟数字 \n
 
- 表示匹配新行,其中 
n是数字,代表换行符的位置 - 例如,
\n匹配换行符,\0匹配字符串的结束 
4.9 美元符号 $
 
- 匹配字符串的末尾
 - 例如,
a$匹配以 “a” 结尾的字符串 
4.10 井号 #
 
- 通常用于注释,但不同的编程语言可能会有不同的解释
 - 例如,在Python中,
#用于注释,但在正则表达式中,它没有特殊含义 
4.11 双引号 "
 
- 在正则表达式中,双引号用于引用字符串,使其作为一个整体进行匹配
 - 例如,
"a"匹配字符串 “a” 
4.12 单引号 '
 
- 类似于双引号,单引号也用于引用字符串,使其作为一个整体进行匹配
 - 例如,
'a'匹配字符串 “a” 
4.13 花括号 {n,m}
 
- 匹配前面的字符 
n到m次 - 例如,
a{2,4}匹配 “aaa” 或 “aaaa” 
4.14 花括号 {n,}
 
- 匹配前面的字符至少 
n次 - 例如,
a{2,}匹配 “aa” 或 “aaaaa” 等 
4.15 花括号 {n}
 
- 匹配前面的字符恰好 
n次 - 例如,
a{2}匹配 “aa” 
这些元字符在正则表达式中扮演着关键角色,它们允许你创建复杂的匹配模式,从而有效地处理文本数据
注意:在使用这些元字符时,需要注意它们可能会在不同的编程语言中具有不同的特殊含义
五、总结(思维导图)

