离线请勿留言

导航

 

python 全栈开发 

1.什么是模块

2.正则表达式

一.什么是模块?

1.模块: 是一组功能的集合

你要和一个东西打交道,但是这个东西本身和python没有关系,这个东西本身就存在, 这时,python提供了一个功能的集合(模块),专门负责和这个东西打交道

2.模块的类型:

(1)内置模块: 不需要我们安装的,解释器自带的

(2)第三方模块: 需要我们自己安装的

(3)自定义模块: 我们自己写的模块

例如:

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

文件 在硬盘上储存着,从硬盘上读文件.

这时,要引入模块:

import os  (模块)

os.remove   (删除文件)

os.rename   (重命名文件)

 

模块实际上就是给我们提供功能, 这个要操作的内容本来就存在, 模块只不过是python提供给我们去操作这个内容的方法

二.正则表达式

re模块: 在python中使用正则表达式

1.正则表达式:是一种独立的规则,一种独立的语言.

2正则表达式的具体内容是什么?能做什么?

正则表达式:(1)从大段的文字中找到符合规则的内容(# 爬虫 从网页的字符串中获取你想要的数据    # 日志分析 提取 2018-8-12 10:---- 花的所有钱)

     例:1,把一个文件中所有的手机号码都找出来

        # open打开文件

        # 读文件 str

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

          #一个字符一个字符的读

     (2)判断某个字符串是否完全符合规则( # 表单验证 : 手机号 qq号码 邮箱 银行卡 身份证号 密码)

          2.输入手机号码

        # 验证这个手机号是否合法

        # 给这个手机号发送一个验证码

        # 用户收到验证码 填写验证码

        # 完成注册

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

规则: 从字符串中找到符合规则的内容.

4.正则表达式主要内容:

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

[0-9]  匹配数字

[a-z]  匹配小写字母

[A-Z] 匹配大写字母

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

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

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

 

 

(2)元字符

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

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

\s : 匹配所有空白符   回车/换行符(\n)  制表符/ Tab键(\t)  空格(space)

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

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

\b : 表示单词的边界

和转义字母相关的元字符:   \w \d \s (\n \t) \b \W \D \S  (ps;方便记忆的顺序)

^ : 匹配一个字符串的开始

$ : 匹配一个字符串的结束

 

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

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

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

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

a|b : (或)  符合a规则的或者b规则的都可以被匹配

  如果a规则是b规则的一部分,且a规则比b规则要苛刻/长,就把a规则写在前面

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

() : 分组 表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组

 

(3)量词

{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])?

5.正则表达式的匹配特点:

贪婪匹配 : 它会在允许的范围内取最长的结果

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

. * ? x : 匹配任意非换行符,任意长度,直到遇见x时就停止.

注:    转义符

在正则表达式中,有很多有特殊意义的是元字符,比如\d和\s等,如果要在正则中匹配正常的"\d"而不是"数字"就需要对"\"进行转义,变成'\\'。

print(r"\\n")

print(r"\n")

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

 

posted on 2018-08-16 19:23  离线请勿留言  阅读(115)  评论(0编辑  收藏  举报