正则表达式

定义:一种匹配字符串的规则。

作用范围:只能用于处理字符串。

正则表达式能做什么?

A.可以制定一个规则

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

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

B.程序领域

  登录注册页的表单验证

  爬虫

C.自动化开发

  日志开发

元字符

  [ ]   字符组   [0-9] = d

         [a-z]  [A-Z]

         [0-9a-zA-Z] 不能倒着写

  s 空白符 (空格、回车、制表符)

  S   匹配非空白

  d    匹配所有的数字

  D    匹配所有的非数字

  w    匹配数字字母下划线

  W   匹配所有非数字字母下划线

      制表符

        换行符

  [dD] [wW] [sS] 都表示所有

  [^a]   匹配除了a以外的其他

  ^    匹配字符串的开始

  $    匹配字符串的结尾

  a|b 匹配 a 或 b         前边放的是长的,后边是短的    比如  abc | ab    而不能是 ab | abc

  .        匹配除了换行符以外的所有

量词

  ?   匹配0次 或 1 次

  +  匹配1次或多次

  *   匹配0次或多次

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

  ()  表示分组 将括号里的内容看成一个整体。

贪婪匹配

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

  d{2}   匹配 2 个 数字

  d{2,}  匹配最少 2 个 数字  默认到正无穷

  d{2,5}  匹配2个至5个数字  默认从大的开始计算

  回朔算法  每个字符从前往后匹配,匹配不到从后往前匹配,匹配到就结束。

  量词后边+ ? 表示结束贪婪匹配采取惰性匹配,匹配尽可能短的。

  +?

  *?

  ??

  {n}?

  .*?x  表示匹配任意字符,直到找到一个x

原文地址:https://www.cnblogs.com/wf123/p/9433447.html