一、基本字符

  1. ^ 字符 开始
  2. $ 字符 结束
  3. * 字符 0~n
  4. + 字符 1~n
  5. ? 字符 0或1
  6. {} 限定字符共6种形式

ab{*}、a{+}、a{?}、a{2}、a{1,}、a{2,6}
a{*} a、ab、abb

a{+} <s>a</s> 、ab、abb
a{?} a、ab、 <s>abb</s>
a{2} <s>a</s>、<s>ab</s>、abb
a{1,} <s>a</s>、ab、abb
a{2,6} <s>a</s>、<s>ab</s>、abb、abbb

  1. | 两项之间可选
  2. []集合

二、转义字符

  1. b 单词 erb never、<s>verb</s>
  2. B 非单词
  3. d 一个数字
  4. D 非数字
  5. n 换行符
  6. r 回车符
  7. s 空白符,含空格、制表符、换行符
  8. w 包括下划线的任何单词字符

三、贪婪模式与非贪婪模式(惰性)

  1. ? + * {min, max}在默认情况下是贪婪模式的,会尽可能的去匹配更多的字符,比如ab*在匹配abbbbbb时会尽可能的匹配更多abbbbb
  2. ?紧跟在其他限定符之后,则为非贪婪模式,ab*?则会匹配ab,而不是abbbbb

四、常用正则表达式

  1. [\u4e00-\u9fa5] 中文字符
  2. \n\s*\r 空白行
  3. [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?Email地址
  4. [a-zA-z]+://[^\s]*网址
  5. [1-9]\d{5}(?!\d)中国邮政编码
  6. ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$ 18位身份证号
  7. ^[1-9]\d*$正整数
  8. ^\d{m,n}$m-n位的数字
  9. ^.{m,n}$m-n位的所有字符

五、实践

待补充

标签: 正则表达式, regex

添加新评论