美文网首页
JS 正则表达式的一些规则和方法

JS 正则表达式的一些规则和方法

作者: 史梦辰 | 来源:发表于2019-03-27 13:51 被阅读0次

    元字符

    • \w 匹配字母、数字、下划线,等价于'[A-Za-z0-9_]'部分操作系统可以匹配汉字
    • \d 匹配数字,等价于'[0-9]'
    • . 匹配除换行符(\n,\r)之外的任何单个字符,要匹配包括'\n'在内的任何字符,使用像"(.|\n)"
    • \s 匹配任何空白字符,包含空格、制表符、换页符等,等价于[\f\n\r\t\v]
    • \b 匹配单词的开始或结束
    • ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配'\n'或'\r'之后的位置
    • 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性, 也匹配 '\n' 或 '\r' 之前的位置。
      • 匹配前面的子表达式零次或一次多次,等价于{0,}
      • 匹配前面的子表达式一次或多次,等价于{1,}
    • ? 匹配前面的子表达式零次或一次,等价于{0,1}
    • {n} n是一个非负整数,匹配确定的n次
    • [^] 在方括号中使用^表示“非”,“排除”
    • ?当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的
    • (pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到
    • (?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。
    • (?=pattern) 正向肯定预查(look ahead positive assert),在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
    • (?!pattern) 正向否定预查(negative assert),在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。
    • (?<=pattern) 反向(look behind)肯定预查,与正向肯定预查类似,只是方向相反。
    • (?<!pattern) 反向否定预查,与正向否定预查类似,只是方向相反。

    RegExp实例方法

    • exec() 该方法专门为捕获组设计。接受一个参数,即要应用模式的字符串,返回包含第一个匹配项信息的数组;在没有匹配项的情况下返回null。返回的数组虽然是Array实例,但是包含两个额外的属性:index和input.index 表示匹配 项在字符串中的位置,而 input 表示应用正则表达式的字符串。在数组中,第一项是与整个模式匹配 的字符串,其他项是与模式中的捕获组匹配的字符串(如果模式中没有捕获组,则该数组只包含一项)。


      image.png
    • test()方法,接受一个字符串参数吗。在模式与该参数匹配的情况下返回true;否则,返回false


      image.png
    • toLocaleString()和toString() 返回正则表达式的字面量,与创建正则表达式的方法无关


      image.png

    RegExp构造函数属性

    image.png image.png
    image.png

    相关文章

      网友评论

          本文标题:JS 正则表达式的一些规则和方法

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