正则

1. 横向模糊匹配
  • 量词p{m,n}
    p至少连续出现m到n次
  • 量词有贪婪和惰性的区分
    1. 贪婪:能满足条件的话,会尽可能的多匹配
    (no){1,3} => nonono => 匹配到一次
    
    1. 惰性:
    (no){1,3}? => nonono => 匹配到三次
    
  • 简写
    • * 等价于 {0,} 任意多个
    • + 等价于 {1,} 至少一个
    • ?等价于 {0,1} 有一个或没有
    • {m}等价于 {m,m}
  • Tip

    ? 在量词中可能有两个含义,在量词之后才表示惰性匹配
2. 纵向模糊匹配
  • 字符集 [ou]
    集合
    1. [ou]匹配o或者u
    2. [a-e] 匹配 abcde
    3. [^a-e] 匹配不是a-e的字符(^ 取反)
  • 简写
    • \d 等价于 [0-9]
    • \D 等价于 [^0-9]
    • \w 等价于 [0-9a-zA-Z_]表示数字、大小写字母和下划线。word的首字母,也称单词字符。
    • \W 等价于 [^0-9a-zA-Z_]
    • \s 等价于 [ \t\v\n\r\f]表示空白符,包括空格、水平制表符、垂直制表符、换行符、回车符、换页符。记忆方式:s是space character的首字母。
    • \S 等价于 [^ \t\v\n\r\f]
    • . 等价于 [^\n\r\u2028\u2029]点是通配符,表示几乎任意字符(除了换行符、分隔符)。
3. 匹配一个具体的位置
  • 单词边界\b 一边是单词字符,一边是非单词字符
  • 非单词边界\B
  • 行开头 ^
  • 行结尾 $
  • 断言位置 (?=p)模式p前面的位置
  • 反向断言 (?<=p)模式p后面的位置
  • 反义 (?!p) 模式p的反义
4. 修饰符
  • /g 全局匹配
  • /i 忽略大小写
  • /m 多行匹配
5. 引用
  • 反向引用 \1 第1(n)个括号里补获的数据
6. 分支结构
  • 管道符 |

你可能感兴趣的:(正则)