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. python调用c的方法

    虽然python是万能的,但是对于某些特殊功能,需要c语言才能完成.这样,就需要用python来调用c的代码了 具体流程: c编写相关函数 ,编译成库 然后在python中加载这些库,指定调用函数. ...

  2. JAVA给图片添加水印

    package com.test; import org.junit.Test; import javax.imageio.ImageIO; import java.awt.*; import jav ...

  3. 重识linux-仅执行一次的工作调动at

    重识linux-仅执行一次的工作调动at 使用的是at命令 1 在系统中使用的是 atd这个服务 默认是不开启的 先启动 atd start 查看atd的状态 service atd status 2 ...

  4. python学习笔记_week11

    一.RabbitMQ python的queue(生产者消费者模型)分为线程queue(不能跨进程)和进程queue(父进程与子进程进行交互或者同属于同一父进程下多个子进程进行交互),那两个独立的进程间 ...

  5. Eclispe让SVN插件显示英文

    eclipse\configuration\config.ini 文件添加以下内容: # Set Subversion English Version osgi.nl=en_US

  6. hive随机采样

    hive> select * from account limit 10;OKaccount.accountname     account.accid   account.platid  ac ...

  7. Mac安装Python3报错Permission denied @ dir_s_mkdir - /usr/local/Frameworks

    brew安装Python3时出现的问题: Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks /usr/local/Frame ...

  8. delphi 调用 c++builder

    delphi 调用 c++builder c++builder 调用delphi 混合调用,mix https://community.embarcadero.com/blogs/entry/mixi ...

  9. kafka config

    Config parameters that influence the log retention time. log.roll.hours  # how long to produce a new ...

  10. Pythagorean Triples 707C

    Katya studies in a fifth grade. Recently her class studied right triangles and the Pythagorean theor ...