python-常用模块
2021/9/20 14:07:35
本文主要是介绍python-常用模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Day 25
正则模块
正则语法
正则表达式:一种匹配字符串的规则,由两种基本字符类型组成:原义(正常)文本字符和元字符。
程序领域的用途:
- 登录注册页的表单验证
- 爬虫
- 自动化开发 日志分析
元字符
指那些在正则表达式中具有特殊意义的专用字符
字符 | 描述 | 举例 |
---|---|---|
[] | 字符组:在一个位置上可能出现的各种字符,写法是 [可能出现的字符] | [0-9][A-Z][a-z] |
[^] | ^在字符组开头表示非,即匹配不是这些字符的内容 | [^123abc] 匹配不是123abc的其他字符 |
| | 或,匹配竖线任意一边的所有字符 | abc|123 表示匹配abc或者123 |
( ) | 分组,表示一个子表达式的作用域 | a(bc|1)3 其中|的作用域为()内的bc与1,匹配abc3与a13 |
\w | word 匹配一个位置的数字、字母与下划线 ,相当于[0-9A-Za-z_] | |
\d | digit 匹配一个位置的数字,相当于[0-9] | |
\s | space 匹配一个位置的空白字符(换行符包括回车,空格,tab也叫制表符) | |
\W | 与\w相反,相当于 [^0-9A-Za-z_] | |
\D | 与\d相反,相当于[^0-9] | |
\S | 与\s相反,匹配非空白字符 | |
\n | 匹配一个位置的回车 | |
\t | 匹配一个位置的制表符tab | |
[\d\D] | 匹配一个位置的所有字符,\d是数字能匹配上,\D非数字也能匹配上,类似的还有 [\w\W] [\s\S] | |
\b | 匹配某个字符为一个单词的边界,\b表示边界 | \bw 匹配 word的w, h\b 匹配hello的h |
^ | 除了[^]其他情况都表示以什么开头,整篇开头,不是行开头 | ^w 匹配开头的w字符 |
$ | 以什么结尾,整篇结尾,不是行结尾 | end |
. | 匹配除换行符 \n 之外的任何单字符 | |
\ | 将有特殊匹配意义的字符转译为普通字符 | . 表示匹配普通字符的一个点 |
以下为量词 | ||
{} | 匹配前面的子表达式多少次 | \d{5} 匹配5个数字 |
{n,} | 匹配前面的子表达式n到多次 | \d{2,} 匹配>=2个数字的字符 |
{n,z} | 匹配前面的子表达式n到z次 | \d{2,5} 匹配 >=2 <=5 个数字的字符 |
? | 匹配前面的子表达式0次或一次 | do(es)? do 与 does都能匹配上 |
+ | 匹配前面的子表达式1次或多次 | do(es)+ does与doeses 能匹配上 |
* | 匹配前面的子表达式0次或多次,是?与+的合集 | |
特殊用法 | ||
量词? | 量词后加一个?表示惰性匹配,在整个正则表达式能匹配上的情况下,匹配量词对于的子表达式的最少次数,量词后 不加?表示贪婪匹配 | a\d{2,5}?z a1234z能匹配上,虽然是惰性机制,但是以匹配上为前提,还要匹配后面的z |
补充说明:
字符组
表示在一个位置上可能出现的各种字符,写法是 [可能出现的字符] eg:[0-9a-b] [abc]
[]中可以是一个范围或者巨头的字母或数字
#[XX1-XX2]必须按ASCII从小到大的顺序写,不能写成[9-2] [z-c] #一个[]表示匹配一个字符 [0-9] 匹配某一个位置为数字 [A-Z] 匹配某一个位置为大写字母 [a-z] 匹配某一个位置为小写字母 [0-9A-Za-z]匹配某一个位置为数字与字母 [2-5] 匹配某一个位置为2-5的数字 [5sjA] 匹配某一个位置为5sjA中的一个字符
量词
- 表达式加量词 默认贪婪匹配,使用回溯算法
- 表达式加量词加? 表示惰性匹配
回溯算法
惰性机制
这篇关于python-常用模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型