日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

發布時間:2023/12/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。