正則表示式基礎
正則表示式(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"