JavaScript:在字符串中查找子字符串几种方法比较
程序员文章站
2022-04-22 09:54:01
...
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。
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。
上一篇: 鱼朝恩权极一时,为何最后会被除掉呢?
下一篇: 关羽没有守住荆州,如果换赵云来行不行呢?