Your browser does not support the Canvas element.

正则表达式

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

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

正则表达式能做什么?

A.可以制定一个规则

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

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

B.程序领域

  登录注册页的表单验证

  爬虫

C.自动化开发

  日志开发

元字符

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

         [a-z]  [A-Z]

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

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

  \S   匹配非空白

  \d    匹配所有的数字

  \D    匹配所有的非数字

  \w    匹配数字字母下划线

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

  \t   制表符

  \n     换行符

  [\d\D] [\w\W] [\s\S] 都表示所有

  [^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

posted @ 2018-08-06 21:30  一根小菜  阅读(116)  评论(0编辑  收藏  举报
Your browser does not support the Canvas element.