day16 python
 
一.模块
    1.什么是模块
        是一组功能的集合
    2.模块的类型
        内置模块; python提供的, 解释器自带的
        第三方模块: 需要我们自己安装的    
        自定义模块: 我们自己写
 
二.正则表达式
        1. 从大段的文字中找到符合规则的内容
        2. 判断某个字符串是否完全符合规则
 
    正则测试工具(网址): 
 
    字符组: []写在里面的内容, 选一个,(要从小 - 大), 这顺序和ord()有关
for i in range(65,91):
    print(str(i)+":"+chr(i), end=' ')    #65    ABCDEFGHIJKLMNOPQRSTUVWXYZ    90
print()
for i in range(91,97):
    print(str(i)+":"+chr(i), end=' ')    #91    :[ \ ] ^ _ `    96
print()
for i in range(97,123):
    print(str(i)+":"+chr(i), end=' ')    #97    abcdefghijklmnopqrstuvwxyz    122
        
        [0-9]            \d                                     [^0-9]       \D
        [0-9a-fA-F]
        [a-z]
        [A-Z]
        [a-zA-Z]
        [a-zA-Z0-9]
        [a-zA-Z0-9_]     \w                                    [^a-zA-Z0-9_]    \W
        [ \t\n\r\v\f]   \s = \n + \t + ' ' +                 [^ \t\n\r\v\f]  \S
        [\s\S]    
        [\w\W]
        [\d\D]
        [^ ]
        
    元字符:
        \w \W \d \D \s \S \t \n \r \v \f \b
        ^ $ . [ | ] ( ) [^]
    转义符: \
        1. 把特殊转成普通 \ ^ $ . [ | ] ( ) ? + * {n}
            \d\d|\d 从左到右匹配, 左右两边有包含关系时, 把苛刻的写在前面(因为是先配置|前面的, 没有才找|后面的)
            \{234}: 当大括号里面是数字时, 大括号需要转义, 转一个括号即可, 或都转义
            [[\]]: 当字符组里面的[]成对出现是,要转义一个, 或都转义
        2. 把普通转成特殊 w W d D s S t n b
 
    转义符: []
        [. [ | ] ( ) ]        #如果你记不住这个, 那么也支持你在[]里面给特殊字符加上转义符
        -                     #这个有时候需要转, 有时候不需要.如果你也分不清什么时候, 那么请直接加转义符
    
    量词:
        {n}
        {n,}
        {n,m}
        ?
        +
        *
    
    分组( ):
        1.给不止一个字符作为一个整体的时候
        2.在python中, 反向引用(优先显示)
 
    匹配特点:
        贪婪匹配, 默认会在允许的情况下匹配最长的结果(源于它的回溯算法: 一个一个正则单元去匹配, 匹配第二个正则时再往回找)
        惰性匹配, 如何取消贪婪匹配:
            .*?x: 在量词后面加 ? 号, (先匹配最少个数, 同时关注后面的字符是不是?后面的字符)
    
    r'\w+': 原样输出
        在python中: 原样输出, \就不转义了
        在正则中:  r'\w+' 还是代表元字符
 
 
 
三.练习题
    匹配整数: -?\d+
    匹配小数: -?\d+\.\d+
    匹配整数和小数: -?(\d+\.)?\d+ | -?\d+(\.\d+)?
    匹配身份证: [1-9]\d{14}(\d{2}[\dx])?
    匹配年月日的日期: ^[1-9]\d{0,3}-(1[0-2]|0?[1-9])-(3[01]|[12]\d|0?[1-9])$
    匹配qq号: [1-9]\d{4-11}
    匹配11位电话号码: 1[3-9]\d{9}
    长度8-10位的用户密码: \w{8,10}
    匹配验证码,4位数字字母组成: [0-9a-zA-Z]{4}
    匹配邮箱地址: [0-9a-zA-Z][\w.\-]*@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)*\.[a-zA-Z0-9]{2,6}
        1.@之前必须有内容且只能是字母(大小写),数字,下划线,减号,点
        2.@和最后一个点之间必须有内容且只能是字母,数字,点,减号,且两个点不能挨着
        3.最后一个点之后必须有内容且只能是字母, 数字且长度为:  2 <= len <= 6
    匹配()里没有()的表达式: \([^)(]+\)
    匹配乘除法: \d+[*/]\d+
 
 
 
 
 
 
 

day16 python模块 正则表达式的更多相关文章

  1. python与正则表达式:re模块详解

    re模块是python中处理正在表达式的一个模块 正则表达式知识储备:http://www.cnblogs.com/huamingao/p/6031411.html 1. match(pattern, ...

  2. python模块之re正则表达式

    41.python的正则表达式      1. python中re模块提供了正则表达式相关操作 字符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字      \W大写代表非\w ...

  3. Python之正则表达式(re模块)

    本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 正则表达式(Regluar Expressions)又称规则 ...

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

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

  5. 【转】Python之正则表达式(re模块)

    [转]Python之正则表达式(re模块) 本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 参考文档 提示: ...

  6. python模块 re模块与python中运用正则表达式的特点 模块知识详解

    1.re模块和基础方法 2.在python中使用正则表达式的特点和问题 3.使用正则表达式的技巧 4.简单爬虫例子 一.re模块 模块引入; import re 相关知识: 1.查找: (1)find ...

  7. Python之re模块正则表达式

    re模块用于对python的正则表达式的操作 字符: .匹配除换行符以外的任意字符 \w匹配字母或数字或下划线或汉字 \s匹配任意空白符 \b匹配单词的开始或结束 ^匹配字符串的开始 $匹配字符串的结 ...

  8. 24、python re正则表达式模块

    一.re模块的基本使用 Python里数量词默认是贪婪的,总是尝试匹配尽可能多的字符.正则表达式是用来匹配处理字符串的. 假如你需要匹配文本中的字符\,Python里的使用原生字符串表示:r'\\'表 ...

  9. Python的正则表达式re模块

    Python的正则表达式(re模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Python使用re模块提供了正则表达式处理的能力.如果对正则表达式忘记的一干二净的话,可以花费 ...

随机推荐

  1. properties与yml之间的比较

    在Spring Cloud的配置文件中,发现使用yml与properties两种后缀的文件: 在application.properties中内容是这样的: server.port=8801eurek ...

  2. easyui的datagrid里getSelections只能获取一行值???

    使用getSelections只能获取到一行的值,检查了半天是因为idField属性值写错,更正之后ok. 解决办法二:改为使用getChecked,idField写错无影响, 注: getSelec ...

  3. 5 个免费的受欢迎的 SQLite 管理工具

    SQLite Expert – Personal Edition SQLite Expert 提供两个版本,分别是个人版和专业版.其中个人版是免费的,提供了大多数基本的管理功能. SQLite Exp ...

  4. potplayer录制视频包含字幕

    用potplayer录制视频,只能保存视频,外挂字幕的视频字幕无法录制进去 在字幕设置里将几个选项更改,即 字幕输出方式改为直接, 渲染方式不要选矢量即可. 如图:

  5. JS-计算身份证校验码(最后一位)

    在线预览 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  6. vcsa6.5安装部署配置(vSphere vsan 6.5)

    首先您最好先了解下vcenter和vcsa是啥:VMware Vsphere 几个不同的组件 esxi是在物理服务器安装的服务端,所有虚拟机是安装再esxi里面的,是服务端:vcenter是管理端 是 ...

  7. Marriage Match II 【HDU - 3081】【并查集+二分答案+最大流】

    题目链接 一开始是想不断的把边插进去,然后再去考虑我们每次都加进去边权为1的边,直到跑到第几次就没法继续跑下去的这样的思路,果不其然的T了. 然后,就是想办法咯,就想到了二分答案. 首先,我们一开始处 ...

  8. 1、Laravel 环境配置及安装

    一.开发工具及环境 PHPStorm + phpStudy 最新版 Composer 安装 https://www.phpcomposer.com/ 下载就可以,设置中国镜像 安装完成后 compos ...

  9. Ubuntu下面怎么连接drcom校园网?(重庆大学实测可行)

    之前因为ubuntu下面不能连drcom接校园头疼了半天,我们学校自带的客户端成功运行了,但是还是不能上网.\ 于是我百度了半天,搜了一堆教程...因为技术太渣好多教程里面不会修改参数,然后都不能成功 ...

  10. 通过JS,用a标签代替form中的submit

    ---恢复内容开始--- 有时候在使用表单的时候,不一定会用到表单中的input_submit来提交表单数据,可能会用a.button等来代替 然后自然而然地想到了用JS中的提交表单数据的动作 < ...