美文网首页
JavaScript - 正则表达式(一)

JavaScript - 正则表达式(一)

作者: ElricTang | 来源:发表于2019-10-15 23:03 被阅读0次

    一. 创建正则表达式

    • 使用构造函数的方式
      new RegExp(pattern, flags)
    • 使用字面量
      let reg = / pattern / flags ;

    二. flags 标志(不包括ES6)

    flags 描述
    g 全局模式(global),匹配到一个后继续匹配,直到结束
    i 不区分大小写模式(case-insensitive)
    m 多行模式(multiline),遇到换行也不结束匹配,直到结束

    三. pattern 模式

    1. 方括号[],用于查找字符
    表达式 描述
    [0-9] 匹配0-9内的字符
    [a-z] 匹配小写26个字母
    [A-Z] 匹配大写26个字母
    [abc] 匹配a、b、c任意字符
    [^abc] 匹配不是a、b、c的任意字符(在方括号内的^表示取非)
    1. 特殊字符
    符号 描述
    . 默认匹配除换行符之外的任何单个字符
    $ 表示以某个字符结尾
    | A|B匹配A或B
    * 匹配前一个表达式0次或多次,等价于{0,}
    + 匹配前一个表达式1次或多次,等价于{1,}
    ? 匹配前一个表达式0次或1次,等价于{0,1}
    {n} 匹配前一个表达式正好出现n次
    {n,} 匹配前一个表达式至少出现n次
    {n,m} 匹配前一个表达式至少出现n次,最多出现m次
    ^ []内表示取非,在外面表示以某个字符开头
    \w 匹配字母数字下划线,等价于[a-zA-Z0-9_]
    \W \w相反,等价于[^a-zA-Z0-9_]
    \d 匹配数字,等价于[0-9]
    \D 匹配非数字,等价于[^0-9]
    \s 匹配一个空白字符,包括空格、制表符、换页符和换行符。等价于[ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]。
    \S 匹配一个非空白字符。等价于 [^ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]。
    \b 匹配一个词的边界,连续的数字、字母或下划线组成的字符串会认为一个单词
    \B 匹配非单词边界
    \0 匹配NULL
    \n 匹配换行符
    \f 匹配一个换页符
    \r 匹配一个回车符
    \t 匹配一个水平制表符(tab键)
    \v 匹配一个垂直制表符
    \xxx 匹配8进制数xxx对应的字符
    \xhh 匹配16进制hh对应的字符
    \uxxxx 匹配Unicode值字符

    相关文章

      网友评论

          本文标题:JavaScript - 正则表达式(一)

          本文链接:https://www.haomeiwen.com/subject/silemctx.html