• 正则表达式简单了解


    1 什么叫正则表达式

    一个表达式,以特定的规则来匹配字符串

    也叫规则表达式

    作用:

    用来验证特定的字符串

    如何使用正则表达式

    2.1 构造函数的方式

    new RegExp(pattern,[flag])

    patten     :   正则表达式,可选

    flag         :      匹配模式,可选

         //匹配某个字符串中出现一次a
    
           //可匹配:"456a"   "aabb"   "bac"
    
           var reg = new RegExp(/a/);

    匹配模式可选以下几种:

    g     全局匹配       把字符串中所有符合条件的字符都匹配一次

    i      忽略大小写

    m    多行匹配       可以让正则多行匹配

    u     Unicode。把模式当作Unicode代码点(code points)的序列

    //可以匹配: "A" "aAa"
    
           var reg = new RegExp(/a/,i);

    细节:

    第一个参数的表达式是没有双引号的,第二个是有双引号或者单引号的

    2.2 字面量的方式

    语法:

    /匹配规则/

    例如:

    /a/

    匹配字符串任意位置出现小写字母a

    test方法

    最常用

    语法:

    RegExpObj.test(string)

    例如:

    //匹配字符串中出出现连续的三个小写a
    
    var reg = new RegExp(/a{3}/);
    
    console.log(reg.test("aaac")); //true
    
    console.log(reg.test("baaab"));//true
    
    console.log(reg.test("aa"));//false
    
    console.log(reg.test("AAA"));//false

    返回值:布尔类型,表示是否匹配成功

    match方法

    语法

    string.match(regexp)

    返回值

    数组,数组里包含匹配结果

    若是没有匹配的结果则返回null

    例子:

    //匹配字符串中是否包含连续的三个小写a
    
    console.log("aaabcdefaaaghjiy".match(/a{3}/));

    结果:

    ["aaa", index: 0, input: "aaabcdefaaaghjiy"]

    exec方法

    语法:

    regObj.exec(string)

    作用、返回值等和match是一样的

    3   正则表达式中的元字符

    元字符

    .      匹配除了 以为的任意单个字符

          转义字符   --  将某些已经具有特殊作用的字符变成普通字符

    |      或者    --   前后的字符或者表达式出现之中一个

    ()     提升优先级和分组   --- 一般分组用的比较多

    量词

    ?    0次或1次  {0,1}

    +     1次或多次   {1,}

    *      0次或多次   {0,}

    {n}   出现n次

    {n,}  至少出现n次

    {n,m}      出现n次到m次

    边界

    ^     开始   -- 以^后面的字符或者表达式开头  -- 严格匹配

    $     结尾  -- 必须以$前面的字符或者表达式结束 -- 严格匹配

    范围   --  使用短横线连接上限和下限,表示一个范围,也可以是多个字符组成的集合

    [0-9]                     表示数字

    [a-z]                     表示小写字母

    [0-9a-zA-Z]   字母+数字

    [abcABC]     多个字符组成的集合

    [^0-9]            非数字

    [^a-zA-Z]             非字母

    预定义类

     d  [0-9]              数字字符

     D  [^0-9]     非数字字符

     s   [f v]      空白字符

     S  [^f v]    非空白字符

     w  [a-zA-Z0-9_]        单词字符(所有的字母和数字)

     W [^a-zA-Z0-9_]      非单词字符

  • 相关阅读:
    动态规划记录 [动态更新]
    C++ STL map使用的注意事项记录
    20192425 2021202220192425 《网络与系统攻防技术》实验六实验报告
    20192425 202120222 《网络与系统攻防技术》实验五实验报告
    判断数据的增减
    还有多久退休
    按地名找所属市
    多表汇总
    优秀的编码实践
    client go 架构
  • 原文地址:https://www.cnblogs.com/chrischan/p/6730646.html
Copyright © 2020-2023  润新知