亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > regex > 正文

JS正則中的match與exec使用說明

2020-01-20 22:16:45
字體:
來源:轉載
供稿:網友

主要參考W3C教程

String.match()

match() 方法將檢索目標字符串,以找到一個或多個與 正則表達式regexp 匹配的文本。match()有兩種情況:

<!--[if !supportLists]-->1、 <!--[endif]-->如果 regexp 具有標志 g,則 match() 方法將執行全局檢索,找到目標字符串中的所有匹配子字符串。

匹配情況

返回值

沒有找到任何匹配的子串

null

找到了一個或多個匹配子串

一個數組。數組的內容包含所有的匹配子串

下面是個實例:

復制代碼 代碼如下:

var str = 'xxtest00test11test22test'
regexp = new RegExp(/(test)(.{1})/g);
while((result = regexp.exec(str)) != null){
document.write(result + '<br />');
document.write(regexp.lastIndex+ '<br />');
}

匹配的結果如下:

返回的匹配數組:

[testaa,testbb,testcc]
并且數組不包含其他有關匹配的信息:

   0:testaa
   1:testbb
   2:testcc

<!--[if !supportLists]-->2、 <!--[endif]-->如果 regexp 沒有標志 g,那么 match() 方法就只能目標字符串中執行一次匹配。

匹配情況

返回值

沒有找到任何匹配的子串

null

找到了一個或多個匹配子串

一個數組。數組的內容包含與它找到的匹配文本有關的信息。該數組的第 0 個元素存放的是匹配文本,而其余的元素存放的是與正則表達式的子表達式匹配的文本。除了這些常規的數組元素之外,返回的數組還含有兩個對象屬性。index 屬性聲明的是匹配文本的起始字符在目標字符串中的位置,input 屬性聲明的是對目標字符串的引用。

我們把上面例子的全局標志g拿掉,regexp = new RegExp(/(test)(.{1})/);再次得到的匹配結果如下:

返回的匹配數組:

[test0,test,0]
并且數組包含indexinput信息:

0:test0
1:test
2:0
index:2
input:xxtest0test1test2test

不過有一點需要說明的是,在IE6,7,8下,返回的數組同時包含lastIndex信息,用來表示表示匹配子串的下一個位置。話說這個屬性應該是在regexp上面的,所以在IE9里面去掉了。

String.exec()方法:

<!--[if !supportLists]-->1、 <!--[endif]-->如果 regexp 不具有標志 g。

匹配情況

返回值

沒有找到任何匹配的子串

null

找到了一個或多個匹配子串

一個數組。數組的內容與調用match() 返回的數組是相同的。

沿用上面的例子:

復制代碼 代碼如下:

result = regexp.exec(str);

返回的匹配數組:
[test0,test,0]
并且數組包含index和input信息:
0:test0
1:test
2:0
index:2
input:xxtest0test1test2test
同樣,在IE6,7,8下,返回的數組同時包含lastIndex信息。
<!--[if !supportLists]-->2、 <!--[endif]-->如果 regexp 具有標志 g。
它會在 regexp的 lastIndex 屬性指定的字符處開始檢索。當 exec() 找到了與表達式相匹配的文本時,在匹配后,它將把 regexp的 lastIndex 屬性設置為匹配文本的最后一個字符的下一個位置。這就是說,可以通過反復調用 exec() 方法來遍歷字符串中的所有匹配文本。當 exec() 再也找不到匹配的文本時,它將返回 null,并把 lastIndex 屬性重置為 0。
注:無論 RegExpObject 是否是全局模式,exec() 都會把完整的細節添加到它返回的數組中。這就是 exec() 與 match() 的不同之處,后者在全局模式下返回的信息要少得多。如果要獲得所有的匹配細節,就可以在全局模式下循環調用exec()方法。
類似:
復制代碼 代碼如下:

var str = 'xxtest00test11test22test'
regexp = new RegExp(/(test)(.{1})/g);
while((result = regexp.exec(str)) != null){
document.write(result + '<br />');
document.write(regexp.lastIndex+ '<br />');
}

對于lastIndex屬性的說明:
<!--[if !supportLists]-->(1) <!--[endif]-->lastIndex在regexp上面,而不是返回的數組結果里面,IE6,7,8在match()方法的lastIndex實現上有bug。
<!--[if !supportLists]-->(2) <!--[endif]-->如果在一個字符串中完成了一次模式匹配之后要開始檢索新的字符串,就必須手動地把 lastIndex 屬性重置為 0。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品爱久久久久久久| 97视频在线观看播放| 国内外成人免费激情在线视频网站| 538国产精品一区二区在线| 欧洲中文字幕国产精品| 国产精品国模在线| 亚洲综合精品一区二区| 疯狂蹂躏欧美一区二区精品| 欧美在线观看网站| 亚洲综合在线播放| 情事1991在线| 欧美高清理论片| 日本精品免费观看| 欧美精品久久一区二区| 精品一区电影国产| 久久久精品美女| 国内精品视频久久| 日本欧美中文字幕| 中文字幕亚洲综合久久| 欧美另类高清videos| 午夜伦理精品一区| 欧美精品激情blacked18| 久久精品成人动漫| 少妇精69xxtheporn| 亚洲精品国精品久久99热一| 欧美巨猛xxxx猛交黑人97人| 国产精品久久久久免费a∨| 成人h猎奇视频网站| 亚洲淫片在线视频| 成人激情视频在线观看| 日韩精品欧美国产精品忘忧草| 精品福利樱桃av导航| 日韩精品在线影院| 成人妇女淫片aaaa视频| 亚洲第一网站免费视频| 日韩美女在线播放| 亚洲精品福利免费在线观看| 欧美在线视频观看| 国产欧美久久一区二区| 欧美日韩在线免费观看| 国产精品国模在线| 欧美亚洲国产视频| 亚洲999一在线观看www| 亚洲成人精品av| 国产国产精品人在线视| 在线免费看av不卡| 亚洲国产高潮在线观看| 中文字幕成人精品久久不卡| 日韩av中文字幕在线免费观看| 超碰97人人做人人爱少妇| 7777免费精品视频| 日韩成人在线视频| 欧美在线www| 成人av在线亚洲| 欧美高清视频在线观看| 国产精品一区av| 久久精品国亚洲| 日韩av理论片| 亚洲精品国产成人| 在线精品高清中文字幕| 亚洲午夜女主播在线直播| 欧美精品在线观看91| 国产精品久久久久久久久久久新郎| 国产精品九九久久久久久久| 久久久综合免费视频| 精品国产电影一区| 亚洲aⅴ日韩av电影在线观看| 91精品国产免费久久久久久| 欧美在线xxx| 自拍亚洲一区欧美另类| 国产在线观看一区二区三区| 久久99青青精品免费观看| 91爱爱小视频k| 亚洲欧美在线播放| 国产精品一区久久| 97视频在线观看亚洲| 国产精品一区二区av影院萌芽| 亚洲国产中文字幕久久网| 欧美性生交大片免网| 欧美猛交免费看| 日韩精品在线观看网站| 久久影视电视剧免费网站清宫辞电视| 亚洲国产黄色片| 亚洲人成在线观看| 国产综合久久久久久| 国语自产精品视频在线看抢先版图片| 欧美丰满老妇厨房牲生活| 日韩av在线免费观看| 自拍偷拍亚洲区| 一本大道香蕉久在线播放29| 欧美精品制服第一页| 欧美亚洲第一区| 人体精品一二三区| www.亚洲人.com| 国产精品96久久久久久又黄又硬| 亚洲欧美激情精品一区二区| 91黄色8090| 国产伦精品一区二区三区精品视频| 97国产精品视频人人做人人爱| 欧美激情区在线播放| 国产精品一区二区三区免费视频| 国产在线不卡精品| 色悠悠久久88| 久久久91精品国产一区不卡| 91精品国产高清自在线看超| 亚洲欧美国产一区二区三区| 91啪国产在线| 国产主播喷水一区二区| 亚洲情综合五月天| 久久成年人免费电影| 国产成人免费av电影| 亚洲电影在线观看| 欧美性极品少妇精品网站| 亚洲人成网7777777国产| 亚洲在线视频福利| 国产亚洲欧美视频| 成人网在线免费看| 92看片淫黄大片欧美看国产片| 久久91精品国产91久久久| 九九热精品视频在线播放| 久久精品视频在线播放| 国产精品video| 亚洲图中文字幕| 亚洲一级黄色片| 亚洲自拍偷拍色片视频| 欧美视频一二三| 日韩一区二区精品视频| 国产精品美腿一区在线看| 欧美限制级电影在线观看| 91av福利视频| 日韩综合视频在线观看| 国产成人高清激情视频在线观看| 久久伊人精品一区二区三区| 亚洲精品色婷婷福利天堂| 2019精品视频| 亚洲国产精品人人爽夜夜爽| 夜夜躁日日躁狠狠久久88av| 97久久久免费福利网址| 国产免费一区二区三区在线观看| 日韩av最新在线| 亚洲精品98久久久久久中文字幕| 成人黄色免费在线观看| 亚洲激情视频在线观看| 欧美激情综合色综合啪啪五月| 亚洲欧美精品在线| 欧美一区二区三区精品电影| 亚洲的天堂在线中文字幕| www.亚洲一区| 亚洲男人av在线| 成人免费网站在线| 欧美大荫蒂xxx| 国产精品老女人精品视频| 国产成人综合亚洲| 欧美激情视频一区二区三区不卡| 久久深夜福利免费观看| 欧美性猛交xxxx乱大交3| 91免费精品视频| 国产女人精品视频| 久久精品国产96久久久香蕉| 久久久久久久久久久91| 日韩电视剧在线观看免费网站| 亚洲欧美精品suv| 日韩免费观看av| 美女精品久久久|