zoukankan      html  css  js  c++  java
  • python学习——正则表达式

    • 什么是模块
      • 一组功能的集合,就是给我们提供功能的,这个要操作的内容本来就存在,模块只不过是python提供给我们去执行功能的方法
        • 谁把所有的硬件管理起来的?——操作系统
          • 文件在硬盘上存储着,从硬盘读文件必须经过操作系统
      • 模块的类型
        • 内置模块:不需要自己安装,python解释器自带的
        • 第三方模块:需要我们自己安装的模块
        • 自定义模块:我们自己写的模块
      • time模块:在python中操作时间,显示时间,计算时间
      • random模块:在python中操作随机数,在Python中生成随机数
    • 正则表达式
      • re模块是python语言中的正则表达式的方法
      • 正则能做什么
        • 1.从大段的文字中找到符合规则的内容
          • 应用:
            • 1.爬虫,从网页的字符串中获取你想要的数据
            • 2.日志分析
              • 什么是日志:2018-08-12 楼下早点摊消费 3.00
        • 2.判断某个字符串时候完全符合负责
          • 应用:表单验证:电话、qq号码、银行卡号等
      • 正则表达式只和字符串打交道
      • 正则表达式的规则
        • 世界上最好用的正则工具:http://tool.chinaz.com/regex/
        • 字符组:[]写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的
          • 填写的-两边只能按照ascii表的顺序左小右大
          • [0-9a-zA-Z_] 匹配0到9的数字、a到z的大小写字母、下划线
        • 转义符
        • 元字符
          • 与转移字母相关的
            • w 匹配数字、字母、下划线;word关键字;[0-9a-zA-Z_]
            • d 匹配数字;digit关键字;[0-9]
            • s 匹配换行符 、制表符 、空格' ';space关键字;[ ]
            • W D S 和w d s 取反
            • [sS] [dD] [wW]是三组全集,匹配所有字符串
            •  表示单词的边界,匹配单词的开始或结尾,str、str
          • ^ $
            • ^ 开始符,匹配一个字符串的开始
            • $ 结束符,匹配一个字符串的结束
          • . 匹配除了换行符之外的任意字符(1个字符)
          • [] 字符组 ,[^] 非字符组
            • [] 只要出现在中括号内的内容都可以被匹配
            • [^] 只要不出现在中括号的内容都可以被匹配,^必须写在最前面
            • 有一些有特殊意义的元字符进入字符组中会恢复本 来意义:. | [] ()
          • | 或
            • a|b 符合a规则或b规则的都可以被匹配,如果a规则是b规则的一部分,且a规则比b规则要苛刻(更长),就把a规则写在前面;将更复杂的或更长的写在前面
          • ( ) 分组
            • 表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组
        • 量词(永远约束元字符)
          • {n} 表示这个量词之前的字符出现n次
          • {n,} 表示这个量词之前的字符至少出现n次
          • {n,m} 表示这个量词之前的字符出现n~m次
          • ? 表示匹配量词之前的字符串出现0次或1次,表示可有可无的时候
          • + 表示匹配量词之前的字符串出现1或多次
          • * 表示匹配量词之前的字符串出现0或多次
        • 特点
          • 贪婪匹配:它会在允许的范围内取最长的结果
          • 非贪婪模式/惰性匹配:在连词后面加个?,原理是先匹配一个d然后以?后面的8为第二标准
          • .*?x 匹配任意非换行符字符任意长度,直到遇到x停止
        • 关于字符串挪到python中的转移问题:只需在工具中测试完毕,确认可以匹配上之后,挪到python中在字符串的外面加上r即可,即r' '
        • 组合使用方法
          • 普通字符就表示一个正常的字符
            • 元字符表示它特殊的意义,如果转义元字符,那么这个元字符就失去了意义
          • 几个字符的组合关系
            • 字符/元字符——只约束一个字符
            • 字符+量词——约束一个字符连续出现的次数
            • 字符+量词+?——约束一个字符连续出现的最少次数
              • 字符+量词+?+x——约束一个字符连续出现量词范围内的最少次数,遇到x就立即停止
    • 练习题
      • 匹配整数 d+
      • 匹配小数 d+.d+
      • 匹配小数或整数 d+(.d+)?或d+.d+|d+
      • 匹配身份证号码:[1-9]d{16}[dx]|[1-9]d{14}或[1-9]d{14}(d{2}dX])?
  • 相关阅读:
    详解 ASP.NET异步
    web开发中对网站建设
    《如何学习C++语言》和《如何学习C语言》
    WCF体系架构(之一:Client与Server信息交互处理流程初略介绍)
    常用的shell命令
    功能最强大的.Net代码生成器——EasyCode,欢迎使用
    对面向对象设计原则的总结
    学习之模块架构 DotNetNuke 6
    软件测试
    微软开放ASP.NET MVC 4、Web API和Web Pages v2的源代码
  • 原文地址:https://www.cnblogs.com/bilx/p/11340934.html
Copyright © 2011-2022 走看看