正则表达式介绍:
概述:
全称是 Regular Expression, 正则表达式, 即: 正确的, 符合特定规则的式子.
作用:
校验, 匹配数据的.
细节:
1. 学正则就是学正则表达式的 规则, 不要背, 因为这么多年了, 校验邮箱, 校验手机...等一些列的规则前辈们都写出来, 网上一搜一堆.
2. 我讲正则的目的: 能用我们学的规则, 看懂别人写的 (正则表达式)式子, 且会根据需求修改即可.
3. 正则不独属于任意的一门语言, Java, Python...都支持, 且: 正则规则都是一样的, 不同的是 写法不一样.
Python中 正则的使用步骤:
1. 导包
import re
2. 正则校验.
re.match(pattern=正则表达式, str, flag) 参1: 正则表达式, 参2: 要校验的字符串, 参3:可选项, 例如: 忽略大小写, 多行模式等.
re.search(pattern=正则表达式, str, flag)
re.compile(正则表达式).sub(用来替换的内容, 要被替换的内容)
3. 获取匹配结果.
result = re.group()
上述函数 介绍:
match: 匹配的意思, 从左往右, 逐个字符进行匹配, 不会跳过任意的1个字符, 要求: 全部匹配才行.
search: 查找的意思, 从左往右, 从任意的某个字符开始, 只要能匹配上即可.
compile: 用于替换的.
正则步骤:
import re #导包
result = re.search('','') #从左往右,从任意某个字符开始,能找到就行,先输入正则,后输入需要判定的字符串
result = re.match('','') #从左往右,不会跳过任何一个字符,必须全部符合,先输入正则,后输入需要判定的字符串
if result: #判定
print(result.group()) #result.group()接收判定成功的结果
else:
print('未匹配')
正则通用规则:
. 任意一个字符
\. 转义,使.成为单纯的. 校验邮箱的时候用, 例如: zhangsan@163.com中的.
a 单纯的一个字符a
[abc] 在abc中任意取一字符
[^abc] 异或上述
\d [0-9] digit
\D 异或上述
\s whitespace \n,\t,空格等
\S 异或上述
\w word 汉字,数字,大小写英文字母,非特殊符号,下划线_
\W 异或上述
^ 以什么开头, 在类似[^abc]中表达取非
$ 以什么结尾
? 数量词:只出现一次或零次
+ 数量词:出现超过1次,包含1次 [1,+∞]
* 数量词:出现超过0次,包含0次 [0,+∞]
{n} 数量词:只出现n次
{n,} 数量词:出现 [n,+∞)次
{n,m} 数量词:出现 [n,m]次
| 或
() 分组
\num 引用第几组
扩展:
(?P<分组名>) 给分组起名
(?P=分组名) 引用分组