欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

nodejs正则提取html,Nodejs正则表达式函数之match、test、exec、search、split、replace

发布时间:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 nodejs正则提取html,Nodejs正则表达式函数之match、test、exec、search、split、replace 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1. Match函数正则表达式

使用指定的正则表达式函数对字符串惊醒查找,并以数组形式返回符合要求的字符串数组

原型:stringObj.match(regExp)函数

参数:spa

stringObj 必选项,须要去进行匹配的字符串orm

RegExp  必选项,指定的正则表达式索引

返回值:若是没有使用g(全局匹配)选项,则返回第一个匹配的字符串、该字符串所在位置及原始字符串组成的数组,若是使用g选项,则返回全部匹配的字符串组成的数组字符串

示例1:input

varstr = “aaabbbcccaaabbbccc”;原型

varres = str.match(/aaa/);//没有使用g选项string

console.log(res);//输出[ 'aaa', index: 0, input: 'aaabbbcccaaabbbccc' ] 第一个表示匹配的字符串;第二个表示匹配的字符串坐在的索引位置,从0开始计算;第三个表示原始字符串;

示例2:

varstr = “aaabbbcccaaabbbccc”;

varres = str.match(/aaa/g);//使用g选项,全局匹配

console.log(res);//输出[ 'aaa', 'aaa' ] 全部匹配的字符串组成的数组

2.exec函数

使用指定的正则表达式模式去字符串中查找匹配项,并以数组形式返回,若是未查找到则返回null

原型:regExp.exec(stringObj)

参数:

regExp 必选项,表示指定的正则表达式模式

stringObj 必选项,表示须要查找的字符串

返回值:不管有无g选项,都返回第一个匹配的字符串、该字符串所在位置及原始字符串组成的数组,可是该方法能够返回子匹配项,是match所不能及的

示例1:

varstr = “aaabbbcccaaabbbccc”;

varregExp = /aaa/;//未使用g选项

varres = regExp .exec(str);

console.log(res);//输出[ 'aaa', index: 0, input: 'aaabbbcccaaabbbccc' ]

示例2:

varstr = “aaabbbcccaaabbbccc”;

varregExp = /aaa/g;//使用g选项

varres = regExp .exec(str);

console.log(res);//输出[ 'aaa', index: 0, input: 'aaabbbcccaaabbbccc' ]

示例3:

varstr = “aaabbbccc1234aaabbbccc”;

varregExp = /ccc([0-9]+)aaa/;

varres = regExp .exec(str);

console.log(res);//输出[ 'ccc1234aaa', '1234', index: 6, input: 'aaabbbccc1234aaabbbccc' ] 第一个表示整个正则表达式所匹配的内容;第二个表示()内容的子表达式所匹配的内容;第三个和第四个同上

示例4:

varstr =“aaabbbccc1234aaabbbcccaaabbbccc5678aaabbbccc”;

varreg = /ccc([0-9]+)aaa/;

varres = reg.exec(str);

console.log(res);//输出同示例三,由于exec只返回第一个匹配的字符串,若是想所有返回,则须要借助while循环和g参数来实现,以下

varstr =“aaabbbccc1234aaabbbcccaaabbbccc5678aaabbbccc”;

varreg = /ccc([0-9]+)aaa/g;

while(res = reg.exec(str)){

console.log(res);

}

//输出以下:

[ 'ccc1234aaa', '1234', index: 6, input: 'aaabbbccc1234aaabbbcccaaabbbccc5678aaabbbccc' ][ 'ccc5678aaa', '5678', index: 28, input: 'aaabbbccc1234aaabbbcccaaabbbccc5678aaabbbccc' ]

//使用这个方法时切记加上g选项,不然while循环将没法跳出,每次都循环第一个匹配项,致使死循环,可能卡死!

3.test函数

原型:regExp.test(str)

参数:regExp表示正则表达式模式  stringObj表示须要进行匹配的字符串

返回值:布尔类型,匹配则返回true,不然false

示例1:

varstr =“aaabbbcccaaabbbccc”;

varreg = /[a-z]+/;

varres = reg.test(str);

console.log(res);//输出true

示例2:

varstr =“aaabbbcccaaabbbccc”;

varreg = /[0-9]+/;

varres = reg.test(str);

console.log(res);//输出false

//该函数通常用来检测某字符串是否符合指定的规则

4.search函数

原型:stringObj.search(regExp)

参数:regExp表示正则表达式模式  stringObj表示须要进行匹配的字符串

返回值:返回第一个匹配的字符串所在的位置(偏移量),从0开始

示例1:

varstr =“aaabbbcccaaabbbccc”;

varreg = /ccc/;

varres = str.search(reg);

console.log(res);//输出 6

5.replace函数

原型:stringObj.replace(regExp, replaceText)

参数:regExp表示正则表达式模式,stringObj表示须要进行匹配的字符串,replaceText表示替换成该文本内容,replaceText也能够是返回字符串的一个函数

返回值:返回替换以后的字符串

示例1:

varstr =“aaabbbcccaaabbbccc”;

varreg = /aaa/;

varres = str.replace(reg, ’111′);

console.log(res);//返回111bbbcccaaabbbccc ,只替换第一个匹配项,若须要替换全部则须要使用g选项

5.split函数

原型:stringObj.split([separator[, limit]])

参数:separator表示分隔符(此处也能够是正则表达式),stringObj表示须要进行匹配的字符串,limit用来限制返回数组元素的个数

返回值:返回分割后的数组

示例1:

varstr =“aaa,bbb,ccc”;

varreg = /,/;

varres = str.split(reg);

console.log(res);//输出[ 'aaa', 'bbb', 'ccc' ]

//其实这里能够简单的写为var res = str.split(“,”);

示例2:

varstr =“aaa,bbb:ccc@ddd#eee”;

varreg = /[,:@#]/;

varres = str.split(reg);

console.log(res);//输出[ 'aaa', 'bbb', 'ccc', 'ddd', 'eee' ] 这才是用正则的强大之处

示例3.

varstr =“aaa,bbb:ccc@ddd#eee”;

varreg = /[,:@#]/;

varres = str.split(reg, 3);

console.log(res);//输出[ 'aaa', 'bbb', 'ccc']

总结

以上是生活随笔为你收集整理的nodejs正则提取html,Nodejs正则表达式函数之match、test、exec、search、split、replace的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。