Python字符串处理:正则元字符与标准函数解析
需积分: 9 176 浏览量
更新于2024-08-24
收藏 197KB PPT 举报
"正则表达式常用元字符-标准字符串函数和正则表达式"
正则表达式是一种强大的文本处理工具,它通过一种特殊的语法来匹配、查找、替换或者提取字符串中的模式。元字符是正则表达式中的特殊符号,它们不表示其本身字面的含义,而是具有特定的含义,用于构建复杂的匹配规则。
1. 常用正则表达式元字符:
- `.`:匹配任意单个非换行符的字符。
- `^`:匹配输入字符串的开始位置。
- `$`:匹配输入字符串的结束位置。
- `\d`:匹配任意数字,等价于 `[0-9]`。
- `\D`:匹配任意非数字字符,等价于 `[^0-9]`。
- `\s`:匹配任意空白字符,包括空格、制表符、换页符等。
- `\S`:匹配任意非空白字符,等价于 `[^ \f\n\r\t\v]`。
- `\w`:匹配字母、数字、下划线,等价于 `[a-zA-Z0-9_]`。
- `\W`:匹配非字母、数字、下划线的字符,等价于 `[^a-zA-Z0-9_]`。
- `\b`:匹配单词边界。
- `\B`:匹配非单词边界。
- `*`:匹配前面的子表达式零次或多次。
- `+`:匹配前面的子表达式一次或多次。
- `?`:匹配前面的子表达式零次或一次。
- `{n}`:匹配前面的子表达式恰好n次。
- `{n,}`:匹配前面的子表达式至少n次。
- `{n,m}`:匹配前面的子表达式至少n次,但不超过m次。
2. Python标准字符串函数:
- `endswith(t)` 和 `startswith(t)`:检查字符串是否以指定的子字符串 `t` 开头或结尾。
- `isalnum()`:检查字符串是否只包含字母和数字。
- `isalpha()`:检查字符串是否只包含字母。
- `isdecimal()`:检查字符串是否只包含十进制数字的字符(非Unicode)。
- `isdigit()`:检查字符串是否只包含数字字符。
- `isidentifier()`:检查字符串是否符合Python标识符的规则。
- `islower()`:检查字符串是否全为小写字母。
- `isnumeric()`:检查字符串是否只包含数字(包括Unicode数字)。
- `isprintable()`:检查字符串是否只包含可打印的字符。
- `isspace()`:检查字符串是否只包含空白字符。
- `istitle()`:检查字符串是否符合标题化的要求(每个单词首字母大写)。
- `isupper()`:检查字符串是否全为大写字母。
- `in`:判断字符串是否包含子字符串。
3. 字符串搜索函数:
- `find(t)` 和 `rfind(t)`:查找子字符串 `t` 的位置,如果没找到,返回 `-1`,`rfind` 从右向左查找。
- `index(t)` 和 `rindex(t)`:与 `find` 类似,但未找到时会抛出 `ValueError` 异常,`rindex` 同样从右向左查找。
4. 改变大小写的函数:
- `capitalize()`:将字符串第一个字符转换为大写。
- `lower()`:将字符串所有字符转换为小写。
- `upper()`:将字符串所有字符转换为大写。
- `swapcase()`:交换字符串中大写和小写字符的位置。
5. 设置字符串格式的函数:
- `center(n, ch)`:返回一个长度为 `n` 的字符串,原字符串居中,两边用 `ch` 填充。
- `ljust(n, ch)`:返回一个长度为 `n` 的字符串,原字符串居左,右边用 `ch` 填充。
- `rjust(n, ch)`:返回一个长度为 `n` 的字符串,原字符串居右,左边用 `ch` 填充。
6. 字符串剥除函数:
- `strip(ch)`:移除字符串两端的 `ch` 包含的字符。
- `lstrip(ch)`:移除字符串左端的 `ch` 包含的字符。
- `rstrip(ch)`:移除字符串右端的 `ch` 包含的字符。
7. 字符串拆分函数:
- `partition(t)`:将字符串按照 `t` 分割成三部分,`head`, `t` 和 `tail`。
- `split(t)`:按 `t` 分割字符串,返回一个包含分割后的子字符串的列表。
- `splitlines()`:按行分割字符串,返回一个包含行的列表。
这些函数和正则表达式的元字符共同构成了处理字符串的强大工具,可以方便地进行各种字符串操作和复杂模式的查找。
2017-12-19 上传
2014-11-14 上传
2008-10-03 上传
2008-11-20 上传
2021-01-19 上传
2011-06-13 上传
2021-06-13 上传
2021-06-13 上传
点击了解资源详情
李禾子呀
- 粉丝: 24
- 资源: 2万+
最新资源
- Haskell编写的C-Minus编译器针对TM架构实现
- 水电模拟工具HydroElectric开发使用Matlab
- Vue与antd结合的后台管理系统分模块打包技术解析
- 微信小游戏开发新框架:SFramework_LayaAir
- AFO算法与GA/PSO在多式联运路径优化中的应用研究
- MapleLeaflet:Ruby中构建Leaflet.js地图的简易工具
- FontForge安装包下载指南
- 个人博客系统开发:设计、安全与管理功能解析
- SmartWiki-AmazeUI风格:自定义Markdown Wiki系统
- USB虚拟串口驱动助力刻字机高效运行
- 加拿大早期种子投资通用条款清单详解
- SSM与Layui结合的汽车租赁系统
- 探索混沌与精英引导结合的鲸鱼优化算法
- Scala教程详解:代码实例与实践操作指南
- Rails 4.0+ 资产管道集成 Handlebars.js 实例解析
- Python实现Spark计算矩阵向量的余弦相似度