全面解析JS字符串和正则表达式中的match、replace、exec等函数
在JS中,字符串和正则表达式都有一些常用的函数,用于对它们进行操作。其中比较常用的包括match()
、replace()
和exec()
函数。下面就分别来详细讲解它们的用法。
match()函数
match()
函数用于在字符串中查找匹配正则表达式的内容,并返回一个包含匹配结果的数组或者null。它的语法如下:
string.match(regexp)
其中,string
是要匹配的字符串,regexp
是用于匹配的正则表达式。如果找到了匹配结果,则返回一个包含匹配的字符串的数组,否则返回null。如果正则表达式带有全局修饰符g,那么返回的数组中会包含所有匹配的结果。
下面是一个示例:
let str = "abc123def456";
let reg = /\d+/g;
let result = str.match(reg);
console.log(result);
输出结果为:
["123", "456"]
replace()函数
replace()
函数用于将字符串中匹配正则表达式的内容替换为指定的字符串,并返回一个替换后的新字符串。它的语法如下:
string.replace(regexp, newSubStr)
其中,string
是要替换的字符串,regexp
是用于匹配的正则表达式,newSubStr
是用于替换的新字符串,可以是字符串、函数或者返回字符串的表达式。如果正则表达式带有全局修饰符g,那么所有匹配结果都会被替换。
下面是一个示例:
let str = "abc123def456";
let reg = /\d+/g;
let newStr = str.replace(reg, "X");
console.log(newStr);
输出结果为:
"abcXdefX"
exec()函数
exec()
函数用于在字符串中查找匹配正则表达式的内容,并返回一个包含匹配结果的数组或者null。它的语法如下:
regexp.exec(string)
其中,string
是要匹配的字符串,regexp
是用于匹配的正则表达式。如果找到了匹配结果,则返回一个包含匹配的字符串的数组,否则返回null。如果正则表达式带有全局修饰符g,那么下一次搜索会从上一次匹配的索引位置开始。
下面是一个示例:
let str = "abc123def456";
let reg = /\d+/g;
let result;
while(result = reg.exec(str)){
console.log(result[0], result.index);
}
输出结果为:
"123" 3
"456" 9
这个示例中,每次匹配到数字后,都会输出该数字和它在字符串中的索引位置。循环会一直执行,直到找不到匹配结果为止。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:全面解析JS字符串和正则表达式中的match、replace、exec等函数 - Python技术站