• 正则表达式


    正则表达式的作用:匹配特殊字符或有特殊搭配原则的字符的最佳选择

    1.正则字符

    ".":匹配除了换行符( )和行结束符( ),这两个字符之外其他的字符。

    "w":单词字符:匹配字母,数字,下划线.

    "W":非单词字符:

    "s"   匹配空白符的字符.空白字符都包括:空格符、制表符( )、回车符( ),换行符( ),垂直换行符(v)、换页符(f)。因此s = [ vf];

    "S"   匹配任意不是空白符的字符

    "d"  匹配数字的字符

    "D"  匹配任意非数字的字符

    ""  匹配单词开头或结束的位置(边界)字符

    "B"  匹配不是单词开头或结束的位置(非边界)字符

    匹配任意字符的话,就可以搭配起来使用了:[sS]、[dD]、[wW]等都可以

    "[^abc]"  匹配除了abc以外的任意字符

    符。
    量词

    以下的n代表一个变量,可以是表达式或者元字符。

    1.n+     匹配至少一个变量n
    2.n*     匹配至少零个变量n

    var reg = /w*/g;
    var str = 'aabbbccc';
    console.log(str.match(reg)); // ["aabbbccc", ""]最后有一个空串,因为前面的单词被w*匹配出来,最后还有一个空字符可以被w*0匹配出来。

    3.n?    匹配0-1个变量n

    var reg=/(aa|b)?/g;
    var str = 'aaaaacb';
    console.log(str.match(reg)); // ["aa", "aa", "", "", "b", ""]中间的空串是因为匹配了空串,?取0的情况。

    4.n{x} 可以规定匹配x个变量n

    并且大括号可以写一个区间,中间用逗号链接。

    var reg = /a{1,4}/g;
    var str = 'aaaaa';
    console.log(str.match(reg)); // ["aaaa", "a"]这里默认的是贪婪匹配,即尽可能匹配多个字符。

    当我们在后面加一个”?”之后,就会变成最小匹配,尽可能匹配少的字符。

    var reg = /a{1,4}?/g;
    var str = 'aaaaaa';
    console.log(str.match(reg)); // ["a", "a", "a", "a", "a", "a"]

    不只是{}后面可以加”?”,其他的比如*?、+?等等后面都可以加问号。

    或者第二个范围不写,这样就代表到无穷的范围。

    var reg = /a{1,}/g;
    var str = 'aaaaa';
    console.log(str.match(reg)); // ["aaaaa"]

    5.n$    匹配以n结尾的字符
    6.^n    匹配以n开头的字符,注意不是[]里面的^。

    var reg = /^abc$/g;
    //这种写法可以匹配固定字符串abc。

    7.n(?=xxx)
    正向预查(正向断言)

    1 var reg = /x(?=abc)/g;
    2 var str = 'xabcxbcdaabc'; 
    3 console.log(str.match(reg)); // x

    匹配后面是abc的n,匹配的是n,后面有abc是一种条件。
    如果n是一个空,那么就查找后面是abc的a前面那个空串了。
    8.n(?!xxx)  非正向预查   匹配后面不是abc的n
    如果要匹配*、?等这些字符的话,就需要在前面加上一个转义字符“/”了。






  • 相关阅读:
    多校省选模拟33 C
    省选测试47 T2宝石(P5401 [CTS2019]珍珠) 题解
    省选测试39
    省选测试38
    省选测试37
    自嗨测试赛4
    自嗨测试赛3
    自嗨测试赛2
    自嗨测试赛1
    树状数组 学习笔记
  • 原文地址:https://www.cnblogs.com/freefy/p/9361475.html
Copyright © 2020-2023  润新知