模块篇,正则

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  阅读(102)  评论(0编辑  收藏  举报