Python字符串处理:正则元字符与标准函数解析

需积分: 9 0 下载量 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()`:按行分割字符串,返回一个包含行的列表。 这些函数和正则表达式的元字符共同构成了处理字符串的强大工具,可以方便地进行各种字符串操作和复杂模式的查找。