JavaScript:在字符串中查找子字符串几种方法比较

var str = "test, Tes, tst, tset, Test, Tesyt, sTes";
var reg = /es/gi;
alert(str.indexOf('es'));
alert(reg.exec(str));
alert(str.match(reg));
alert(str.search(reg));

弹出内容如下:










分析如下:
1.indexOf()方法不支持正则表达式,但支持指定开始查找的位置。
2.search()方法支持正则表达式,不支持全局匹配正规表达式(带参数g),也不支持指定开始查找的位置,每次都只能找到一个关键词。找不到返回-1。
3.match()方法默认查找一次,要返回一个数组包含所有匹配关键字的内容必须加g。
4.exec()方法每次都只能找到一个关键词,且要是正则表达式的方法,不是String的。一旦找不到,返回null。

猜你喜欢

转载自bri-robby.iteye.com/blog/2270108