正则表达式

一.什么是正则表达式?

  一种匹配字符串的规则,正则表达式是一种独立的语法和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

总结:

  元字符

  元字符量词 默认贪婪匹配

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

原文地址:https://www.cnblogs.com/wangjian941118/p/9431435.html