应用场景:正则表达式
匹配字符串规则 (字符串:用户输入、文件读取、网络传输)网络
表单验证:注册页面 、身份证号、手机号码、邮箱、银行卡号google
从文件中获取想要的信息 爬虫,从网页中批量的获取数据(重要啊)。spa
字符组:ci
字符组是指一个字符上容许出现的字符字符串
[0-9] 只容许出现0-9io
[A-Z] 只容许出现A-Ztable
[A-z0-9] 匹配全部大小写字母及数字表单
[^0-9] 带' ^ ' 的字符组是指该位置不能出现0-9表单验证
元字符:
\w | 字母、数字、下划线 |
\t | Tab键 |
\s | 全部空白符(空格、Tab、回车) |
\n | 回车 |
\d | 数字[0-9] |
\b | 字符串两端 |
\W | 非字母、数字、下划线 |
\S | 非全部空白符(空格、Tab、回车) |
\D | 非数字 |
. | 除了换行符匹配全部 |
^ | 开始符 |
$ | 结束符 |
[] 字符组,具体内容
() 分组 例:'www\.(baidu|google)\.com' '\'转义符使 ' . '表明‘.’而不是匹配任意除了换行
| 或 包含关系中,把长的写在前面
正则匹配量词
量词 | 用法 |
{n} | n次 |
{n,} | 至少n次,最多无限 |
{n,m} | 至少n,之多m |
? | 0次或1次 |
+ | 匹配1次或屡次 |
* | 匹配0次或屡次 |
使用:
全部正则表达式的量词默认贪婪匹配
贪婪匹配:尽量多的给你匹配(规则内)默认模式
非贪婪/惰性匹配 在正则表达式后面加'?'
'.*?'经常使用的非贪婪匹配
findall(?:正则表达式) 取消分则优先显示