25 正则表达式

主要内容:

1 . 正则表达式的概念: 一种匹配字符串的规则(正则表达式是一种独立的语法,和python没关系)

2 . 正则表达式能做什么: 

  a:可以制定一个规则

    1): 来确认某一个字符串是否符合规则

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

  b: 程序领域:

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

    2): 爬虫(爬虫就是把网页下载下来,从里面提取一些信息,找到我要的所有信息,做数据分析.)

    3): 自动化开发  日志分析

3 . 元字符

  .   : 匹配除换行符以外的空白字符

  w : 匹配字母或数字或下划线

  s : 匹配任意的空白字符[     空格键]

  d : 匹配数字

  D:匹配非数字

  S:匹配非空白符

  W:匹配非数字,下划线, 字母

  ^ : 匹配字符串的开始

  $ : 匹配字符串的结束

  a|b: 匹配字符a 或者是b

  () : 匹配括号里的表达式,也表示一个组.

  [..]: 匹配字符组里的字符

  [^..]: 匹配除了字符组中字符的所有字符

    字符组 : []  [^..] | ()

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

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

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

4 . 量词

  * : 重复零次或者更多次

  +: 重复一次或着更多次

  ? :重复零次或者一次

  {n}: 重复n次

  {n, }: 重复n次或者更多次

  {n, m}: 重复n到m次

5 . 贪婪匹配: 在满足匹配时, 匹配尽可能长的字符串, 默认情况下, 采用贪婪匹配

6 . 量词?:惰性匹配

  ??   重复零次或者一次,但尽量少重复

  +?   重复一次或者更多次,但尽量少重复

  *?   重复零次或者更多次,但尽量少重复

  {n, m }?  重复n到m次, 但尽量少重复

  {n, }  重复n次以上,但尽量少重复.

  

原文地址:https://www.cnblogs.com/gyh412724/p/9431749.html