zoukankan      html  css  js  c++  java
  • 正则表达式

    模块:

      什么是模块: 模块就是一组功能的集合

     模块的类型:

      内置模块:不需要自己安装,python自带的模块

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

      自定义模块:我们自己写的模块

      例:

      import os    #导入模块

      os.remove()   #删除文件

      os.rename()   #重命名文件

      模块为我们提供功能,这个操作的对象本来就存在,模块就是python提供给我们操作对象的方法.

      正则表达式的作用

        #从大段的文字中找到符合规则的内容

          #爬虫  从网页的字符串中获取你想要的数据

          #日志分析

        #判断某个字符是否完全符合规则

          #表单验证  手机号   qq号码  邮箱  银行卡  身份证号码  密码

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

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

      [0-9]  匹配数字

      [a-z]  匹配小写字母

      [A-Z]  匹配大写字母

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

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

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

      元字符

      w  匹配数字字母下划线   等价于[a-zA-Z0-9_]

      d  匹配所有的数字  [0-9]

      s  匹配所有的空白符   回车/换行符  制表符  空格  space[ ]

         匹配换行符  回车

         匹配制表符  tab 

         匹配空格       

      W D S 和w d s取反

        [wW] [dD] [sS]   是三组全集,匹配所有的字符

        表示单词的边界

      和转义字符相关的元字符

      w d s( )  W D S

      ^ $

      ^  匹配一个字符串的开始

      $  匹配一个字符串的结束

      .   匹配出换行符之外的所有字符

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

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

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

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

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

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

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

    量词(6个)

      {n}  表示这个量词之前的字符出现n次

      {n,}  表示这个量词之前的字符至少出现n次

      {n,m}   表示这个量词之前的字符出现n--m次

      ?      表示匹配量词之前的字符出现0次或1次

      *    表示匹配量词之前的字符出现0次或多次

      +    表示匹配量词之前的字符出现1次或多次

      正则表达式的匹配特点:  贪婪匹配

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

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

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

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

    
    
  • 相关阅读:
    类和对象系列教材 (十二)- 怎么写一个Java的饿汉式与懒汉式单例模式
    类和对象系列教材 (十二)- 怎么写一个Java的饿汉式与懒汉式单例模式
    [LeetCode] 285. Inorder Successor in BST
    [LeetCode] 671. Second Minimum Node In a Binary Tree
    [LeetCode] 230. Kth Smallest Element in a BST
    [LeetCode] 238. Product of Array Except Self
    [LeetCode] 273. Integer to English Words
    [LeetCode] 266. Palindrome Permutation
    [LeetCode] 409. Longest Palindrome
    [LeetCode] 124. Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/Virous1887/p/9488129.html
Copyright © 2011-2022 走看看