JavaScript正規表現の基礎(上)


js正規表現
これはjsの正則表現の性質を紹介するコードです.内容が多いので、上下二編に分けて正則を紹介した上で使うつもりです.あとは正則の実戦文章を発表します.
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!---->
    <script>
        /*
                  
          :
        var    = new RegExp("     ","    ");
            1.  typeof      ,   object
            2.    :
                    i :      
                    g :     
                    m :      
    */
        var reg = new RegExp("a"); //   a ;
        var str = "a";

        /*
                    :
                test()
                ----                             ,
                           true,    false
        */
        var result = reg.test(str);
        console.log(result); //      true;

        /*
                        
              : var    = /     /    
        */

        // 1.  ab      ab
        reg = /ab/;
        console.log("----- 1 -----");
        console.log(reg.test("abcd")); // true
        console.log(reg.test("bacd")); // false

        // 2. a|b   a b
        reg = /a|b/;
        console.log("----- 2 -----");
        console.log(reg.test("cd")); // false
        console.log(reg.test("acd")); // true
        console.log(reg.test("bcd")); // true
        console.log(reg.test("bacd")); // true

        // 3. [a-d]  a d     
        reg1 = /[a-z]/; //        
        reg2 = /[A-Z]/; //        
        reg3 = /[A-z]/; //      
        console.log("----- 3 -----");
        console.log(reg1.test("12ab")); // true
        console.log(reg2.test("12AB")); // true
        console.log(reg3.test("12Ab")); // true
        console.log(reg3.test("12")); // false

        // 4. /a[bde]c/
        reg = /a[bde]c/; //     abc adc aec,              
        console.log("----- 4 -----");
        console.log(reg.test("abc")); // true
        console.log(reg.test("abdc")); // false
        console.log(reg.test("cabc")); // true
        console.log(reg.test("ac")); // false

        // 5. [^ab]    ab     
        reg = /[^ab]/ //    ab     
        console.log("----- 5 -----");
        console.log(reg.test("abc")); // true
        console.log(reg.test("ab")); // false
        console.log(reg.test("c")); // true

        // 6. [^0-9]           
        reg = /[^0-9]/;
        console.log("----- 6 -----");
        console.log(reg.test("12")); // false
        console.log(reg.test("as12")); // true
        console.log(reg.test("ac")); // true

        /*
                :
                split()                 
                search()                
                match()                     
                replace("      ","    ")                 
        */

        // 1. split()           ,               
        var str = "1a2b3c4d5e6f";
        var result = str.split("c");
        console.log("----- split() -----");
        console.log(result); //     Array["1a2b3","4d5e6f"]    :C    
        var result = str.split(/[a-z]/); //    
        console.log(result); //     Array(7) {"1","2","3","4","5","6",""};
        var str = "10101010101";
        var result = str.split(1); //                  
        console.log(result); //     Array(7) {"","0","0","0","0","0",""};

        // 2. search()                ,         ,           ,       -1
        str = "hello abc hello abc";
        result = str.search("abc");
        console.log("----- search() -----");
        console.log(result); //   6
        str = "hello abc hello aec afc";
        result = str.search(/a[bef]c/); //       abc aec afc
        console.log(result); //   6

        // 3. match()           ,                   
        var str = "1a2b3c4d5e6f";
        result = str.match(/[A-z]/); //                 
        console.log("----- match() -----");
        console.log(result);
        result = str.match(/[A-z]/g); //                 :    
        console.log(result);
        console.log(Array.isArray(result));  //    true
        console.log(result[1]); //    b
        
        // 4.  replace("      ","    ")                 
        var str = "1a2b111ABC";
        result = str.replace("1a2b","0");
        console.log("----- replace() -----");
        console.log(result);  //    0111ABC
        result = str.replace(/a/gi,"0");
        console.log(result);  //    102b1110BC
    </script>
</body>

</html>