Js正则函数match、exec、test、search、replace、split使用介绍集合
正则表达式是一种能够从文本中匹配出我们需要的信息的工具,同时在JavaScript中也提供了多个正则函数可以操作正则表达式,包括match()、exec()、test()、search()、replace()和split()。
match()
match()
函数是JavaScript中操作正则表达式最常用的函数之一,它用于对字符串进行正则匹配,并返回匹配到的所有子字符串组成的数组。当正则表达式带有全局标志g时,它会匹配所有符合条件的子字符串;否则只会匹配第一个符合条件的子字符串。
const str = 'Hello World!';
const regEx = /l/g;
const arr = str.match(regEx);
console.log(arr); // 输出['l', 'l', 'l']
从上面的代码可以看出,在对字符串'Hello World!'执行正则表达式 /l/g时,它会匹配所有含有l的字母,并返回它们的数组。
exec()
exec()
函数是另一种执行正则表达式的函数,它和match()
函数类似,不同的是exec()
函数返回的是一个数组,包含了一些额外的信息,例如可供 exec()
函数使用的原始字符串和每个子匹配的位置。当正则表达式没有全局标志g时,exec()
函数每次在执行时只会匹配到第一个符合条件的子字符串;如果有g标志,它就会把所有符合条件的子字符串都匹配到。
const str2 = 'Hello World!';
const regex2 = /l/g;
let arr2;
while (arr2 = regex2.exec(str2)) {
console.log(`匹配到字符串"${arr2[0]}",知道其起始位置为${arr2.index}`);
}
//结果:匹配到字符串"l",知道其起始位置为2
// 匹配到字符串"l",知道其起始位置为3
// 匹配到字符串"l",知道其起始位置为9
这段代码将字符串'Hello World!' 按正则表达式 /l/g 进行匹配,然后使用了while循环来对匹配结果进行处理。
test()
test()
函数用于检查一个字符串是否符合正则表达式规则,如果匹配到则返回true,否则返回false。
const str3 = "I love JavaScript";
const regEx3 = /love/;
const result = regEx3.test(str3);
console.log(result); // 输出true
search()
search()
函数用于搜索一个字符串中指定的子字符串,如果找到则返回该子字符串的位置,否则返回-1。
const str4 = "I love JavaScript";
const index = str4.search(/love/);
console.log(index); // 输出2
replace()
replace()
函数在一个字符串中用另一个字符串替换指定的子字符串。如果正则表达式带有全局标志g,那么它会替换所有符合条件的子字符串,否则只会替换第一个符合条件的子字符串。
const str5 = 'I love JavaScript';
const regEx5 = /love/;
const newStr5 = str5.replace(regEx5, "like");
console.log(newStr5); // 输出 "I like JavaScript"
split()
split()
函数可以让我们通过一个指定的分隔符来将字符串分割成数组。
const str6 = "I,love,JavaScript";
const arr6 = str6.split(",");
console.log(arr6); // 输出 ["I", "love", "JavaScript"]
从上面的示例结果可以看出,参数','是分隔符,它会根据逗号将字符串分割成三个元素组成的数组。
总结:
match()
函数是一种执行正则表达式的方式,它可以将匹配到的字符串放在一个数组中返回。exec()
函数具有与match()
函数相似的功能,但还可以返回额外的信息。test()
函数用于检查一个字符串是否满足正则表达式,如果满足返回true,否则返回false。search()
函数用于搜索指定的字符串,如果找到则返回子字符串的位置,否则返回-1。replace()
函数可以用另一个字符串来代替指定的子字符串。split()
函数可以将一个字符串分割成一个由指定分隔符分隔开的数组。
以上是关于正则函数在JavaScript中的使用介绍。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js正则函数match、exec、test、search、replace、split使用介绍集合 - Python技术站