js-----正则

246 阅读1分钟

专门用来处理字符串的规则 包括 正则捕获 正则匹配

  • 使用 let reg = /\d/ //自面量创建
  • let reg = new RegExp('\d+','img'); //实例创建方式
  • 正则构成 元字符和修饰符
    • 特殊元字符
      • \d 匹配0-9中的任意一位数字
      • \D 匹配除了0-9数字以外的任意字符
      • \w 匹配数字、字母、_ 中的任意一个字符串
      • \s 匹配一个空白符(空格、\t制表符)
      • \b 匹配单词的边界 'zhu-feng' z的左侧,u的右侧,f左侧,g的右侧都是边界
      • \n 匹配一个换行符
      • . 不是小数点,是匹配除 \n 以外的任意字符串
      • \ 转义符,将普通的字符串转义成特殊的元字符,例如\d 就表示 0 -9 之间的字符串;还可以将特殊的元字符转义成普通元字符。如 . 不再表示除 \n 以外的任意字符,而是表示普通小数点
      • ^ (读作caret符)表示以某个元字符开头
      • $ 表示以某个元字符结尾
      • x | y 表示x或者y中的任意一个
      • [xyz] 表示x/y/z 中的任意一个
      • [a-z] a-z 中的任意一个字母
      • [0-9] 0-9中的任意一个数字
      • [^a-z] 除了a-z以外的任意字符
      • () 正则分组
      • (?:) 当前分组值匹配不捕获
      • (?=) 正向预查
      • (?!) 负向预查
    • 量词元字符 出现次数
        • 出现 0次到多次
      • ? 出现0次到1次
      • {n} 出现n次
      • {n, m} 出现n次到m次
      • {n,} 至少出现n次
    • 普通元字符 除以上两种形式以外的元字符
    • 修饰符
      • i: ignorecase 忽略大小写
      • m: multiline 多行匹配
      • g: global 全局匹配