正则表达式(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"