match
- 语法:stringObject.match( regExp )
- 作用:match()函数用于使用指定的正则表达式模式在当前字符串中进行匹配查找,并返回数组形式的查找结果。
- 参数:包含正则表达式模式的RegExp对象的实例。也可以是包含正则表达式模式的变量名或字符串。
- [x] 如果参数regExp不是正则表达式对象(RegExp),而是字符串类型,则match()先将该字符串传递给RegExp的构造函数,将其转换为一个RegExp对象
返回值
match()方法的返回值为Array类型,其返回数组的成员取决于指定的正则表达式模式是否设有全局标志g。
- 如果参数regExp没有全局标志g,则match()函数只查找第一个匹配,并返回包含查找结果的数组,该数组对象包含如下成员:
- [ ] 索引0:存放第一个匹配的子字符串。
- [ ] 属性index:匹配文本在字符串中的起始索引位置。
- [ ] 属性input:整个字符串对象(stringObject)。
- [ ] 例如:["Code", index: 0, input: "Code123Player34Code456 http://www.365mini.com"]
- 如果参数regExp设有全局标志g,则match()函数会查找所有的匹配,返回的数组不再有index和input属性,其中的数组元素就是所有匹配到的子字符串---例如:["12", "34", "45", "36"]
- match()函数如果没有查找到任何匹配,则返回null。
search
- 语法:str.search(regExp/字符串)
- 作用:返回字符串中第一个匹配项的索引,如果没有找到匹配项,返回-1
- 注意:始终返回的是“第一个”匹配项的“索引”
match和search的区别
match参数中带g时,返回的是所有满足条件的匹配项(不是索引哦)组成的数组;参数中不带g的时候,返回的是第一个满足条件的匹配项,及其索引index和查找的字符串对象input
match返回的是数组
search返回的是一个number
match返回的是满足条件的匹配项
search返回的是满足条件的索引
match没有找到匹配项时,返回null
search没有找到匹配项时,返回-1
replac
replace不会改变原有字符串
- 语法:str.replace(arg1,arg2)---将arg1替换为arg2
- 参数1为字符串时,只替换str中满足条件的第一个子串;当参数1为正则表达式时,且带有g标志时,替换str中所有满足条件的子串
- 参数2为字符串时,可以使用特殊的字符序列