模块
一、模块
1.什么是模块:
模块:一种功能的集合
模块实际上是就是给我们提供功能,
这个要操作的内容本来就存在,
模块只不过是python提供给我们的去操作这个内容的方法
# python要和某个东西打交道,而这个东西与python没有关系,这个东西本身就存在
# python提供了一个功能的集合,专门负责和这个东西打交道
操作系统:把硬件管理起来
2.模块的分类:
内置模块 不需要自己安装的 解释器自带的
第三方模块 需要自己安装的
自定义模块 我们自己写的模块
二、正则表达式
1. 正则表达式是什么?能做什么?
a 从大段文字中找到符合规则的内容 (爬虫, 日志分析等)
b 判断某个字符串是否符合规则 (表单验证,输入手机号,qq号,银行卡等)
正则表达式 只和字符串打交道
规则 字符串 (从字符串中找到符合规则的内容)
2. 字符组与元字符
字符组:
[0-9]
[a-z]
[A-Z]
[_]
元字符:
\w 匹配所以字符数字下划线
\d 匹配所有数字 手机号:1[3-9]\d{9}
\s (\n \t 空格)
\n 匹配所有换行 回车
\t 匹配所有制表符 tab
匹配所有空格 space
\b 匹配边界 如 \bl 匹配所以l开头的字符串
ing\b 匹配所有结尾为ing
^ 匹配一个字符串的开始
$ 匹配一个字符串的结束
. 匹配除换行符之外的所有字符串
[] 匹配括号内的内容
[^] 匹配非括号内内容
a|b 匹配符合a规则或是b规则的内容(更复杂,更长的规则写在前面)
() 分组 表示给几个字符加上量词约束的时候
量词:
{n} 表示匹配量词前的字符出现n次
{n,} 表示匹配量词前的字符至少出现n次
{n,m} 表示匹配量词前的字符出现n-m次
? 表示匹配量词前的字符出现0次或1次
+ 表示匹配量词前的字符出现1次或多次
* 表示匹配量词前的字符出现0次或多次
正则表达式匹配特点: 贪婪匹配 (在允许范围内,尽可能多的匹配)
非贪婪模式(惰性匹配)在量词的后面加一个? 回溯算法
几个字符的组合关系:
1. 字符/元字符 只约束一个字符
2. 字符+量词 约束一个字符连续出现的次数
3. 字符+量词+? 约束一个字符连续出现的最少次数
字符+量词+?+x 约束一个字符连续出现量词范围内的最少次数,遇到x就立即停止
4. 元字符+量词