模块篇,正则

biubiu

什么是,模块  一组功能的集合

你要和某个东西打交道,而这个东西本身和python没有关系,这个东西本身就存在

Python 提供了一个功能的集合 专门负责和这个东西打交道

 

模块的类型

内置模块  不需要我们自己安装的解释器自带的

第三方模块  需要我们自己安装的模块

自定义模块 我们自己写的模块

 

谁把所有的硬件 管理起来的  是操作系统

文件 在 硬盘上储存着

熊硬盘上读文件

 

 

Inmort os 模块

Os,remove ()删除文件

Os.rename()重命名文件

 

 

模块时间上就是给我们提供功能的存在

这个要操作的内容本来就存在

模块只不过是python 提供给我们去操作这个内容的方法

 

 

为什么要有模块

模块怎么用

 

Re模块

在python 中使用正则表达式

正则表达式

 

先学习正则表达式

是一种独立的规则,独立的语言

 

正则表达式是什么 能做什么

1 把一个文件中的所有手机号都能找出来

从打断的文字中找到符合规则的内容

Open 打开文件

读文件 str

从一长串字符串中找到所有的十一位数字

一个字符一个字符的读

 

  1. 输入手机号

(1) 验证这个手机号码是否合法,判断某个字符串是否完全符合规则

(2) 给这个手机号发送一个验证码

(3) 用户收到验证码 填写验证码

(4) 完成注册

 

 

正则表达式

从大段的文字中找到符合规则的内容

爬虫 从网页的字符串中获取你想要的数据

日志分析 提取 2018-8.10 10:------花的所有钱

什么是日志

2018-8-12 10:00:00 楼下早餐 3.00

    判断某个字符串是否完全符合规则

表单验证,:手机号码 qq号码 邮箱 银行卡 身份证号密码

 

正则表达式  只和字符串打交道

 

正则表达式的规则

负责 字符串 从字符串中找到符合规则的内容

 

字符组:[]  写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的

[0-9]  匹配数字

[a-z] 匹配小写字母

[A-Z] 匹配大写字母

     [8-9]

[a-z A-Z] 匹配大小写字母

[a-zA-Z0-9] 匹配大小写字母+数字

[a-zA-Z0-9_]匹配数字字母下划线

 

 

 

转义符号 \

 

元字符

\w 匹配数字字母下划线 word 关键字 [a-]zA-Z0-9_]

\d 匹配所有的数字  digit [0-9]

\s 匹配所有的空白符 回车\n

匹配换行符 回车 \n

匹配制表符 tab \t\

\W \D \S 和\w \d \s 取反

[\s\S] [\d\D] [\w\W]  三组全集 意思是匹配所有字符

\b表示单词的边界

 

 

和转义字母相关的 元字符

\w \d \s(\n\t)  \b \W \D \S

 

^ &

^ 匹配一个字符串的开始

$ 匹配一个字符串的结束

 

. 表示匹配 除换行符之外的所有字符

 

[] 只要出现在中括号内的内容都可以被匹配

[^] 只要不出现在中括号中的内容都可以被匹配

# 有一些特殊意义的元字符进入字符中会回复他本来的意义: . | [  ]()

 

a|b 或 符合a 规则的或者b 规则的可以被匹配

如果 a 规则是b规则的一部分,且 a规则比b规则要苛刻,

就把a规则写在前面

将更复杂的 更长的规则写在最前面

分组 表示给几个字符加上量词 约数的需求的时候

就给这些量词分在一个组   

 

量词

{n} 表示  这个量词之前的字符出现n次

{n,} 表示 表示这个量词 之前的字符至少出现n次

{n,m}  表示这个量次之前的字符出现n-m次

? 表示 匹配量词之前的字符出现 0次 或者 1次

表示可与可恶

+ 表示匹配量次 之前的字符出现 1 次 或者 多次

* 表示 匹配量词之前的字符出现 0次 或者 多次

 

 

匹配整数 \d+

匹配小数 \d+\.\d+

匹配小数或者整数

\d+\.\d+|\d+

\d+(\.\d+)?

 

匹配身份证号码: [1-9]\d{16}[\dx]|[1-9]\d{14}

[1-9]\d{14}(\d{2})[\dx]?

 正则表达式的匹配特点: 贪婪匹配

他会在允许的范围内去最长的结果

非贪婪模式/惰性匹配:在量次的后面加上?

.*?x 匹配任意非换行符字符任意长度 知道遇到x就停止

 

 

关于 字符串挪到python 中的转义的问题:只需要在工具中测试完毕,确认可以匹配上之后,挪到python中在字符串外面p

posted @ 2018-08-16 15:24  玩蛇少年7372  阅读(127)  评论(0)    收藏  举报