正则表达式

基础语法

  1. 元字符
    ^ 匹配行或者字符串的起始位置
    $ 匹配行或者字符串的结束位置
    \s 匹配空格
    \d 匹配数字
    \w 匹配数字、字母、下划线,单词字符
    \b 匹配单词边界
    . 匹配除了换行符以外的所有字符
    [abc] 匹配中括号中的所有字符

  2. 反义的表示
    \S 匹配非空格的字符
    \D 匹配非数字
    \W 匹配非单词字符
    \B 匹配非单词边界
    [^abc] 匹配除括号中以外的其他字符

  3. 量词
    (*) 重复任意次(贪婪)
    (+) 重复至少一次(懒惰)
    ? 重复零次或一次(占有)
    {n} 重复n次
    {n,} 至少重复n次
    {n,m} 重复n到m次

  4. 懒惰限定符
    *? 重复任意次,尽可能少
    {n,m} 重复n到m次,尽可能少

  5. 捕获分组
    (exp) 匹配exp,并捕获文本到自动命名的组里
    (?exp) 匹配exp,并捕获文本到名称为name的组里
    (?:exp) 匹配exp,但是不捕获文本也不分配组
    (?=exp) 匹配exp前面的位置,但不匹配exp【与上一个的区别主要在这里】
    (?<=exp) 匹配exp后面的位置
    (?!exp) 匹配后面不是exp的位置
    (?

  6. 模式修正符
    /g 全局查找
    /i 忽略大小写
    /m 多行查找,只在包括^或$时起作用

进阶知识

  1. test、exec、match的区别
  2. RegExp.prototype.compile 方法会加快正则匹配的速度

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