Python教程
Python 基础手册
Python 英语
Python 简介
Python 入门
Python 语法
Python 注释
Python 变量
Python 关键字
Python 快捷键
Python 数据类型
Python 布尔
Python 运算符
Python 占位符
Python If语句
Python For循环
Python While循环
Python 数字
Python 字符串
字符串 capitalize()
字符串 casefold()
字符串 center()
字符串 count()
字符串 encode()
字符串 endswith()
字符串 expandtabs()
字符串 find()
字符串 format()
字符串 format_map()
字符串 index()
字符串 isalnum()
字符串 isalpha()
字符串 isdecimal()
字符串 isdigit()
字符串 isidentifier()
字符串 islower()
字符串 isnumeric()
字符串 isprintable()
字符串 isspace()
字符串 istitle()
字符串 isupper()
字符串 join()
字符串 ljust()
字符串 lower()
字符串 lstrip()
字符串 maketrans()
字符串 partition()
字符串 replace()
字符串 rfind()
字符串 rindex()
字符串 rjust()
字符串 rpartition()
字符串 rsplit()
字符串 rstrip()
字符串 split()
字符串 splitlines()
字符串 startswith()
字符串 strip()
字符串 swapcase()
字符串 title()
字符串 translate()
字符串 upper()
字符串 zfill()
Python 列表
列表 append()
列表 clear()
列表 copy()
列表 count()
列表 extend()
列表 index()
列表 insert()
列表 pop()
列表 remove()
列表 reverse()
列表 sort()
Python 数组
Python 元组
元组 count()
元组 index()
Python 集合
集合 add()
集合 clear()
集合 copy()
集合 difference()
集合 difference_update()
集合 discard()
集合 intersection()
集合 intersection_update()
集合 isdisjoint()
集合 issubset()
集合 issuperset()
集合 pop()
集合 remove()
集合 symmetric_difference()
集合 symmetric_difference_update()
集合 union()
集合 update()
Python 字典
字典 clear()
字典 copy()
字典 fromkeys()
字典 get()
字典 items()
字典 keys()
字典 pop()
字典 popitem()
字典 setdefault()
字典 update()
字典 values()
Python 函数
内建函数 abs()
内建函数 all()
内建函数 any()
内建函数 ascii()
内建函数 bin()
内建函数 bool()
内建函数 bytearray()
内建函数 bytes()
内建函数 callable()
内建函数 chr()
内建函数 classmethod()
内建函数 compile()
内建函数 complex()
内建函数 delattr()
内建函数 dict()
内建函数 dir()
内建函数 divmod()
内建函数 enumerate()
内建函数 eval()
内建函数 exec()
内建函数 filter()
内建函数 float()
内建函数 format()
内建函数 frozenset()
内建函数 getattr()
内建函数 globals()
内建函数 hasattr()
内建函数 hash()
内建函数 help()
内建函数 hex()
内建函数 id()
内建函数 input()
内建函数 int()
内建函数 isinstance()
内建函数 issubclass()
内建函数 iter()
内建函数 len()
内建函数 list()
内建函数 locals()
内建函数 map()
内建函数 max()
内建函数 memoryview()
内建函数 min()
内建函数 next()
内建函数 object()
内建函数 oct()
内建函数 open()
内建函数 ord()
内建函数 pow()
内建函数 print()
内建函数 property()
内建函数 range()
内建函数 repr()
内建函数 reversed()
内建函数 round()
内建函数 set()
内建函数 setattr()
内建函数 slice()
内建函数 sorted()
内建函数 @staticmethod()
内建函数 str()
内建函数 sum()
内建函数 super()
内建函数 tuple()
内建函数 type()
内建函数 vars()
内建函数 zip()
Python 类和对象
Python 继承
Python 迭代器
Python 作用域
Python 模块
Python 日期
Python JSON
Python 正则表达式
Python PIP
Python Try Except
Python 命令行输入
Python 文件处理
文件处理 close()
文件处理 detach()
文件处理 fileno()
文件处理 flush()
文件处理 isatty()
文件处理 read()
文件处理 readable()
文件处理 readline()
文件处理 readlines()
文件处理 seek()
文件处理 seekable()
文件处理 tell()
文件处理 truncate()
文件处理 writeable()
文件处理 write()
文件处理 writelines()
Python 模块手册
Python 随机模块(Random)
Python OS模块
Python 请求模块(Requests)
Requests.delete()
Requests.get()
Requests.head()
Requests.post()
Python 数学模块(cmath)
Python math模块
Python 网络爬虫
HTTP 教程
HTTP/HTTPS 简介
HTTP 消息结构
HTTP 请求方法
HTTP 响应头信息
HTTP 状态码
Python 实例练习
练习001.算术运算
练习002.数字阶乘
练习003.计算面积
练习004.求取素数
练习005.计算平方
练习006.列表求和
练习007.数字偶数
练习008.列表删除
练习009.列表去重
练习010.列表排序
练习011.文件读写
练习012.计算分数
本文档使用 MrDoc 发布
-
+
首页
Python 正则表达式
**RegEx 或正则表达式是形成搜索模式的字符序列。 RegEx 可用于检查字符串是否包含指定的搜索模式。** ## RegEx 模块 Python 提供名为 re 的内置包,可用于处理正则表达式。 导入 re 模块: ``` import re ``` ## Python 中的 RegEx 导入 re 模块后,就可以开始使用正则表达式了: 实例 检索字符串以查看它是否以 "China" 开头并以 "country" 结尾: ``` import re txt = "China is a great country" x = re.search("^China.*country$", txt) ``` ## RegEx 函数 re 模块提供了一组函数,允许我们检索字符串以进行匹配: | 函数 | 描述 | | --- | --- | | findall | 返回包含所有匹配项的列表 | | search | 如果字符串中的任意位置存在匹配,则返回 Match 对象 | | split | 返回在每次匹配时拆分字符串的列表 | | sub | 用字符串替换一个或多个匹配项 | ## 元字符 元字符是具有特殊含义的字符: | 字符 | 描述 | 示例 | | --- | --- | --- | | [] | 一组字符 | "[a-m]" | | \ | 示意特殊序列(也可用于转义特殊字符) | "\d" | | . | 任何字符(换行符除外) | "he..o" | | ^ | 起始于 | "^hello" | | $ | 结束于 | "world$" | | * | 零次或多次出现 | "aix*" | | + | 一次或多次出现 | "aix+" | | {} | 确切地指定的出现次数 | "al{2}" | | l | 两者任一 | "falls l stays" | | () | 捕获和分组 | | ## 特殊序列 特殊序列指的是 \ 后跟下表中的某个字符,拥有特殊含义: | 字符 | 描述 | 示例 | | --- | --- | --- | | \A | 如果指定的字符位于字符串的开头,则返回匹配项 | "\AThe" | | \b | 返回指定字符位于单词的开头或末尾的匹配项 | r"\bain"或r"ain\b" | | \B | 返回指定字符存在的匹配项,但不在单词的开头(或结尾处) | r"\Bain" 或r"ain\B" | | \d | 返回字符串包含数字的匹配项(数字 0-9) | "\d" | | \D | 返回字符串不包含数字的匹配项 | "\D" | | \s | 返回字符串包含空白字符的匹配项 | "\s" | | \S | 返回字符串不包含空白字符的匹配项 | "\S" | | \w | 返回一个匹配项,其中字符串包含任何单词字符(从 a 到 Z 的字符,从 0 到 9 的数字和下划线 _ 字符) | "\w" | | \W | 返回一个匹配项,其中字符串不包含任何单词字符 | "\W" | | \Z | 如果指定的字符位于字符串的末尾,则返回匹配项 | "Spain\Z" | ## 集合(Set) 集合(Set)是一对方括号 [] 内的一组字符,具有特殊含义: | 集合 | 描述 | | --- | --- | | [arn] | 返回一个匹配项,其中存在指定字符(a,r 或 n)之一 | | [a-n] | 返回字母顺序 a 和 n 之间的任意小写字符匹配项 | | [^arn] | 返回除 a、r 和 n 之外的任意字符的匹配项 | | [0123] | 返回存在任何指定数字(0、1、2 或 3)的匹配项 | | [0-9] | 返回 0 与 9 之间任意数字的匹配 | | [0-5][0-9] | 返回介于 0 到 9 之间的任何数字的匹配项 | | [a-zA-Z] | 返回字母顺序 a 和 z 之间的任何字符的匹配,小写或大写 | | [+] | 在集合中,+、*、.、|、()、$、{} 没有特殊含义,因此 [+] 表示:返回字符串中任何 + 字符的匹配项 | ## findall() 函数 findall() 函数返回包含所有匹配项的列表。 实例 打印所有匹配的列表: ``` import re str = "China is a great country" x = re.findall("a", str) print(x) ``` 这个列表以被找到的顺序包含匹配项。 如果未找到匹配项,则返回空列表: 实例 如果未找到匹配,则返回空列表: ``` import re str = "China is a great country" x = re.findall("USA", str) print(x) ``` ## search() 函数 search() 函数搜索字符串中的匹配项,如果存在匹配则返回 Match 对象。 如果有多个匹配,则仅返回首个匹配项: 实例 在字符串中搜索第一个空白字符: ``` import re str = "China is a great country" x = re.search("\s", str) print("The first white-space character is located in position:", x.start()) ``` 如果未找到匹配,则返回值 None: 实例 进行不返回匹配的检索: ``` import re str = "China is a great country" x = re.search("USA", str) print(x) ``` ## split() 函数 split() 函数返回一个列表,其中字符串在每次匹配时被拆分: 实例 在每个空白字符处进行拆分: ``` import re str = "China is a great country" x = re.split("\s", str) print(x) ``` 您可以通过指定 maxsplit 参数来控制出现次数: 实例 仅在首次出现时拆分字符串: ``` import re str = "China is a great country" x = re.split("\s", str, 1) print(x) ``` ## sub() 函数 sub() 函数把匹配替换为您选择的文本: 实例 用数字 9 替换每个空白字符: ``` import re str = "China is a great country" x = re.sub("\s", "9", str) print(x) ``` 您可以通过指定 count 参数来控制替换次数: 实例 替换前两次出现: ``` import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x) ``` ## Match 对象 Match 对象是包含有关搜索和结果信息的对象。 注释:如果没有匹配,则返回值 None,而不是 Match 对象。 实例 执行会返回 Match 对象的搜索: ``` import re str = "China is a great country" x = re.search("a", str) print(x) # 将打印一个对象 ``` Match 对象提供了用于取回有关搜索及结果信息的属性和方法: * span() 返回的元组包含了匹配的开始和结束位置 * .string 返回传入函数的字符串 * group() 返回匹配的字符串部分 实例 打印首个匹配出现的位置(开始和结束位置)。 正则表达式查找以大写 "C" 开头的任何单词: ``` import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span()) ``` 实例 打印传入函数的字符串: ``` import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string) ``` 实例 打印匹配的字符串部分。 正则表达式查找以大写 "C" 开头的任何单词: ``` import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group()) ``` 注释:如果没有匹配项,则返回值 None,而不是 Match 对象。
admin
2025年4月16日 23:11
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码