一.模块的定义
一组功能的集合(要和某个自己就存在的东西打交道,,而这个东西自己和python没有关系,
python提供了一个功能的集合,专门负责和这个东西打交道)
模块的类型:
内置模块:不须要咱们本身安装的,解释器自带的
第三方模块:须要咱们本身安装的模块
自定义模块:本身写的模块
例
import os #这里的os就是一个模块,用来操做文件,文件这个东西就是自己就存在的,
且文件自己与python没有关系,os模块就是和文件打交道的
os.remove() #模块中的方法
os.rename()
二.re模块:为了在python中使用正则表达式
正则表达式是一种独立的规则,独立的语言
引用正则表达式主要为了完成两件事:
1.把一个文件中的全部手机号码都找出来 从大段的文字中找到符合规则的内容 如:爬虫,日志分析
2.输入手机号 判断这个字符串是否彻底符合规则 如:表单验证,手机号,QQ号,邮箱,银行卡,身份证号码,密码
三.正则表达式的规则
正则表达式(只和字符串打交道,从字符串中找到符合规则的内容)
在线测试工具:http://tool.chinaz.com/regex/
正则 | 带匹配字符 | 匹配结果 | 解释说明 |
[0-9] | zrtygh546481fttr | 5 4 6 4 8 1 | 匹配全部的数字 |
[a-z] | zrtygh546481fttr | z r t y g h f t t r | 匹配全部的小写字母 |
[A-Z] | ASFR几乎hiu56 | A S F R | 匹配全部的大写字母 |
[a-zA-Z] | ASFR几乎hiu56 | A S F R h i u | 匹配全部的大小写字母python (必定要根据ascii码的顺序来选择a-z和A-Z的顺序)git |
[a-zA-Z0-9] | ASFR几乎hiu56 | A S F R h i u 5 6 | 匹配大小写字母和数字正则表达式 (a-z和A-Z的顺序不能够换0-9是能够在任意位置的)工具 |
[a-zA-Z0-9_] | ASFR几乎hiu56 | A S F R h i u 5 6 _ | 匹配数字字母下划线测试 |
a-z的ascii码是65-90spa
A-Z的ascii码是97-122日志
元字符:ci
元字符 | 匹配内容 | 解释 |
\w | 匹配全部的数字字母下划线 | w是Word开头至关于[a-zA-Z0-9_] |
\d | 匹配全部的数字 | d是digit的开头,至关于[0-9] |
\s | 匹配全部的空格,回车,制表符 | s是space的开头,至关于[\n\t ] |
\n | 匹配换行符(回车) | |
\t | 匹配制表符(tab) | |
匹配空格 | ||
\W | 与\s取反,匹配除数字字母下划线外的全部 | |
\D | 与\d取反,匹配除数字外的其余全部 | |
\S | 与\s取反,取除空格外的全部 | |
[\s\S][\d\D][\w\W]rem |
表示全集,匹配全部字符 | |
\b字符串 |
表示单词的边界 | |
^ | 匹配一个字符串的开始 | |
$ | 匹配一个字符串的结束 | 对^$先后换行也支持,选中此项,每一行的开始和结束都有一个开始和结束字符,不然只有整个文本的开头和结束有 |
. | 表示匹配除换行以外的全部字符 | |
[] | 只要出如今中括号内的内容均可以被匹配 | [ab]----单个a和单个b均可以被匹配 |
[^] | 只要不出如今中括号中的内容均可以被匹配 | 单个出现也不会被匹配 |
a|b | 或,符合a规则的符合b规则的均可以被匹配 | 若是a规则是b规则的一部分,或a规则比b规则要苛刻,就要把a规则写在前面,默认先看前面 |
() | 分组 | 表示想给几个字符串量词约束的时候,须要把这些量词分在一个组 |
量词:
量词 | 用法说明 |
{n} | 表示这个量词以前的字符出现n次 |
{n,} | 表示这个量词以前的字符至少出现n次 |
{n,m} | 表示这个量词以前的字符出现n-m次 |
? | 表示匹配量词以前的字符出现0次或1次 |
+ | 表示匹配量词以前的字符出现1次或屡次 |
* | 表示匹配量词以前的字符出现0次或屡次 |
正则表达式的匹配特色:贪婪匹配(它会在容许的范围内取最长的结果)
非贪婪模式/惰性匹配:在量词后面加上?
如: .*?x