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''即可

python模块部分 re模块 之正则表达式的更多相关文章

  1. Python模块之常用模块,反射以及正则表达式

    常用模块  1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...

  2. Python中的re模块--正则表达式

    Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...

  3. python常用模块(1):collections模块和re模块(正则表达式详解)

    从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...

  4. python中的re模块——正则表达式

    re模块:正则表达式 正则表达式:为匹配字符 import re #导入re模块 #re.findall('正则表达式','被匹配字符') re模块下findall用法 在正则表达式中: \w 表示匹 ...

  5. (转)正则表达式与Python(RE)模块

    Python正则表达式指南  原文:http://blog.csdn.net/qdx411324962/article/details/46799831 Python3(2):正则表达式与Python ...

  6. vscode如何配置debug,python正则表达式如何匹配括号,关于python如何导入自定义模块

    关于vscode如何配置debug的问题: 1.下载安装好python,并且配置好 环境变量 2.https://www.cnblogs.com/asce/p/11600904.html 3.严格按照 ...

  7. 常用正则表达式与python中的re模块

    正则表达式是一种通用的字符串匹配技术,不会因为编程语言不一样而发生变化. 部分常用正则表达式规则介绍: . 匹配任意的一个字符串,除了\n * 匹配任意字符串0次或者任意次 \w 匹配字母.数字.下划 ...

  8. python中的re模块和正则表达式基础

    1.正则匹配基础知识 (1)通配符. .只匹配一个字符 >>> re.findall("p.ckname","piiickname-pockname&q ...

  9. python兵器谱之re模块与正则表达式

    一.正则表达式 ·1.正则表达式的应用场景: 应用特有的规则,给我需要的符合规则的字符串,在字符串中只有符合条件的才会被匹配和从大段的字符串中提取需要的数据 ·匹配字符串的规则: ·1.字符串:用户输 ...

随机推荐

  1. openstack provider self-service network subnet 创建

  2. Mysql 多字段去重

    使用group by去重现在有如下表 id name age1 张三 232 李四 343 张三 234 李四 32 需求 : 按照name和age字段联合去重 sql如下 select * from ...

  3. 06.linux文件目录操作命令

    文件目录操作命令: ›ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 ›mkdir 创建目录 -p 父目录不存在情况下先生成父目录 ›cd 切换目录 ›t ...

  4. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql/mysql.sock' (2)

    [root@XXX ~]# mysql -h localhost -uroot -p Enter password: ERROR (HY000): Can't connect to local MyS ...

  5. struts2中的constant介绍之struts.objectFactory与spring的整合

    struts2提供给我们更为灵活的设计,他的很多东西都是可以手动配置的,下面介绍下他的一些 常用的constant作用和配置 struts.objectFactory这个属性用于说明Struts2的 ...

  6. 保存对象报错with two open Sessions

    purorderService.save(newpur);出现如下 org.springframework.orm.hibernate3.HibernateSystemException: illeg ...

  7. netty ChannelOption

    项目中用到很多netty,配置了各种不同的ChannelOption优化项,不同的配置对于在高并发情况下的性能有不小的影响 首先看下全部项目,参考下这篇文章,虽然不全 https://www.cnbl ...

  8. DMA/Zero copy

    DMA: 直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式.在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就 ...

  9. 【Noip模拟 20161005】友好城市

    问题描述 小ww生活在美丽的ZZ国.ZZ国是一个有nn个城市的大国,城市之间有mm条单向公路(连 接城市ii.jj的公路只能从ii连到jj).城市ii.jj是友好城市当且仅当从城市ii能到达城市jj并 ...

  10. leetcode AC1 感受

    在网上第一个AC还是蛮高兴的,之前试了不少练习编程的方法,感觉不怎么适合自己,在OJ上做题的确是一个能够锻炼的方法. 之前一直研究学习的方法,往简单的说是认知.练习,往复杂的说是,保持足够input, ...