• 正则表达式


    一.什么是正则表达式?

      一种匹配字符串的规则,正则表达式是一种独立的语法和python没有关系

    二.正则表达式能做什么?

      #可以定制一个规则

        1.来确实某一个字符串是否符合规则

        2.从大段的字符串中找到符合规则的内容

      #程序领域

        1.登录注册页的表单验证 web开发 要求简单语法

        2.爬虫

        3.自动化开发

    字符组:[] 在一个字符的位置能出现的内容 [^]: 非字符组

    例:

    [1bc] 表示在一个位置上只能出现1或b或c

    [0-9][A-Z][a-z] 匹配三个字符 第一个为0-9的数字 第二个为大写字母 第三个为小写字母

    [0-9a-zA-Z] 表示一个字符可以是数字可以是大写或小写字母

    d==[0-9] 也表示匹配一个字符,匹配的是一个数字

    w==[0-9a-zA-Z]也表示匹配一个数字字母下划线

    s==[ ] 包括回车空格和制表符tab

       匹配回车

       匹配制表符

    D 匹配非数字

    W 匹配非数字字母下划线

    S 匹配非空白

    [dD] 或 [wW] 或 [sS] 匹配所有

    正则表达式语法

      元字符

        字符组 [] [^] | ()

          |的用法[1-9]d{16}[0-9X]|[1-9d{14} 身份证号

          ()的用法[1-9]d{14}(d{2}[1-9X])? 身份证号

            d(.d+)?小数或者整数

          wds( , ) W D S

          ^ $

          .

        量词

          ? + *

          {n},{n,},{n,m}

        特殊的用法和现象

          ?的使用

            在量词的后面跟了一个? 取消贪婪匹配 非贪婪(惰性)模式

              ??*?+?{n}?

              最常用 .*?x 匹配任意字符直到找到一个x

    总结:

      元字符

      元字符量词 默认贪婪匹配

      元字符量词? 表示惰性匹配

  • 相关阅读:
    [Leetcode] 120. Triangle
    [Leetcode] 97. Interleaving String
    [Leetcode] 96. Unique Binary Search Trees
    [Leetcode] 91. Decode Ways
    [Leetcode] 338. Counting Bits
    CNN中减少网络的参数的三个思想
    [Leetcode] 17. Letter Combinations of a Phone Number
    [Leetcode] 220. Contains Duplicate III
    [Leetcode] 232. Implement Queue using Stacks
    mysql触发器(Trigger)简明总结和使用实例
  • 原文地址:https://www.cnblogs.com/wangjian941118/p/9431435.html
Copyright © 2020-2023  润新知