1. 程式人生 > >正則表示式基礎

正則表示式基礎

正則表示式(regular expression) 

    顯式建立    var searchPattern = new RegExp('+s');

    RegExp直接量    var searchPattern = /+s/;

        直接量中的兩個斜槓(//),表明了物件被建立為一個正則表示式

    RegExp獨有的方法:test和exec

        test方法確定作為引數傳入的字串是否與正則表示式匹配。

                var re = /CSDN/;

                var str = "CSDN";

                if(re.test(str)) document.writeln("I guess it does rule");

                注意:匹配是區分大小寫的,如果為 var re =/Csdn/; 結果為假。如果為 var re = /CSDN/i; i不區分大小寫,結果

                為真。    

        exec()方法用於檢索字串中的正則表示式的匹配。

                var re = /js*/ig;                                    //標誌i忽略大小寫,標誌g針對整個字串

                var str = "cfdsJs * (ddafjsJS 5678js";

                var resultArray = re.exec(str);

                while (resultArray){

                    document.wirteln(resultArray[0]);   //列印

                    resultArray = re.exec(str);

                }

                str中的"*"應該如何匹配?需要通過轉義字元(\)。例如\!、 \$、\^、\&、\* 等等。

        用於匹配特定出現的字元的正則表示式字元有4個:星號(*)匹配它前面的字元出現0次或多次,加號(+)它前面的字

        符出現1次或多次的情況,問號(?)匹配它前面的字元出現0次或1次的情況,而點(.)匹配一個字元。

                    貪婪模式(.*)和懶惰模式 (.*?)。點可以代表任何字元 而星號會一直匹配到模式的最後一次出現。

                        test = "one" "two" "three";

                    貪婪模式則從第一個雙引號一直到最後一個雙引號,而懶惰模式則會匹配在第二次出現雙引號的地方結束。

                        貪婪模式  輸出    "one" "two" "three" 

                        懶惰模式 輸出    "one"