【python篇】正则表达式
·
一.定义与作用
1.1 定义
正则表达式(Regular Expression,简称 Regex)是由普通字符 + 特殊元字符组成的一套字符串匹配规则模板,用来描述文本的格式、特征、规律。
1.2 作用
正则就是用简短的符号规则,代替繁琐的字符串循环判断,高效做校验、提取、替换、分割。
二.步骤
2.1 模块导入
import re
2.2 正则匹配
result = re.match('正则表达式', '要校验的字符串')
正则匹配常用函数:
| 函数 | 说明 |
| re.match() | 从字符串开头匹配,仅检查字符串开头是否符合规则,匹配成功返回匹配对象,失败返回 None。 |
| re.search() | 整个字符串查找第一个匹配,遍历整个字符串,找到第一个符合规则的内容就返回,失败返回 None。 |
| re.findall() | 返回所有匹配结果的列表,查找字符串中所有符合规则的内容,直接返回列表(无匹配返回空列表)。 |
| re.sub() | 替换匹配的字符串,等价于字符串的 replace(),但支持规则替换,功能更强。 |
| re.split() | 按规则分割字符串,等价于字符串的 split(),支持按正则规则分割。 |
2.3 获取匹配结果
result.group()
三.正则元字符(核心规则)
3.1 单个字符
| 元字符 | 功能 |
| . | 匹配任意 1 个字符(除了\n) |
| [] | 匹配[ ]中列举的字符 |
| [^指定字符] | 匹配除了指定字符以外的所有字符 |
| \d | 匹配数字,即 0-9,等价于[0-9] |
| \D | 匹配非数字,即不是数字 |
| \s | 匹配空白,即 空格,tab 键 |
| \S | 匹配非空白 |
| \w | 匹配非特殊字符,即 a-z、A-Z、0-9、_、汉字 |
| \W | 匹配特殊字符,即非字母、非数字、非_、非汉字 |
3.2 多个字符
| 元字符 | 功能 |
| * | 前一个字符出现 0 或多次 |
| + | 前一个字符出现 1 或多次 |
| ? | 前一个字符出现 0 或 1 次 |
| {m} | 前一个字符出现 m 次 |
| {m,n} | 前一个字符出现 m 到 n 次 |
3.3 头尾
| 元字符 | 功能 |
| ^ | 匹配字符串开头 |
| $ | 匹配字符串结尾 |
3.4 分组
| 元字符 | 功能 |
| | | 或,匹配左边或右边 |
| (...) | 分组,捕获匹配的子串 |
| (?:...) | 非捕获分组,用于优先级,不保存匹配结果 |
| (?P<分组名>)|(?P=分组名) | 设置分组|使用分组 |
| \num | 引用第几组的内容 |
更多推荐

所有评论(0)