麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js正則表達exec與match的區(qū)別說明

2019-11-20 21:10:50
字體:
供稿:網(wǎng)友

以前用js很少用到j(luò)s的正則表達式,即使用到了,也是諸如郵件名稱之類的判斷,網(wǎng)上代碼很多,很少有研究,拿來即用。

最近開發(fā)遇到一些需要使用正則表達式,順便研究一下

正則表達式對象有兩個定義方式::

1、第一種定義:

new RegExp(pattern, attributes);如var reg = new RegExp("abc","g")

其中pattern為表示表達式內(nèi)容,如上表示匹配abc

attributes:g,全局匹配,i不區(qū)分大小寫,m執(zhí)行多行匹配,用最多的為g和i

2、第二種定義:/pattern/attributes.

如:var reg = /abc/g;

正則表達的規(guī)則一些規(guī)則在此不再說明,只記錄exec和match的區(qū)別:

1、exec是正則表達式的方法,而不是字符串的方法,它的參數(shù)才是字符串,如下所示:

如上定義
var reg = new RegExp("abc") ;
var str = "3abc4,5abc6";
reg.exec(str ); 

2、match是字符串執(zhí)行匹配正則表達式規(guī)則的方法,他的參數(shù)是正則表達,如

var reg = new RegExp("abc") ;
var str = "3abc4,5abc6";
str.match(reg);

3、exec和match返回的都是數(shù)組;

如果exec執(zhí)行的正則表達式?jīng)]有子表達式(小括號內(nèi)的內(nèi)容,如/abc(/s*)/中的(/s*) ),如果有匹配,就返回第一個匹配的字符串內(nèi)容,此時的數(shù)組僅有一個元素,如果沒有匹配返回null;

var reg = new RegExp("abc") ;
var str = "3abc4,5abc6";
alert(reg.exec(str));
alert(str.match(reg));

執(zhí)行如上代碼,你會發(fā)現(xiàn)兩者內(nèi)容均為一樣:abc,

4、如果定義正則表達對象為全局匹配如:

var reg = new RegExp("abc","g") ;
var str = "3abc4,5abc6";
alert(reg.exec(str));
alert(str.match(reg));

則 為abc和abc,abc;因為match執(zhí)行了全局匹配查詢;而exec如果沒有子表達式只會找到一個匹配的即返回。

5、當表示中含有子表達式的情況:

var reg = new RegExp("a(bc)") ;
var str = "3abc4,5abc6";
alert(reg.exec(str));
alert(str.match(reg));

你會發(fā)現(xiàn)兩者執(zhí)行的結(jié)果都是:abc,bc;

6、當如果正則表達式對象定義為為全局匹配

var reg = new RegExp("a(bc)","g") ;
var str = "3abc4,5abc6";
alert(reg.exec(str));
alert(str.match(reg));

則兩者返回的結(jié)果是abc,bc和abc,abc,

總結(jié)為:

1、當正則表達式無子表達式,并且定義為非全局匹配時,exec和match執(zhí)行的結(jié)果是一樣,均返回第一個匹配的字符串內(nèi)容;

2、當正則表達式無子表達式,并且定義為全局匹配時,exec和match執(zhí)行,做存在多處匹配內(nèi)容,則match返回的是多個元素數(shù)組;

3、當正則表達式有子表示時,并且定義為非全局匹配,exec和match執(zhí)行的結(jié)果是一樣如上邊的第5種情況;

4、當正則表達式有子表示時,并且定義為全局匹配,exec和match執(zhí)行的結(jié)果不一樣,此時match將忽略子表達式,只查找全匹配正則表達式并返回所有內(nèi)容,如上第6種情況;

也就說,exec與全局是否定義無關(guān)系,而match則于全局相關(guān)聯(lián),當定義為非全局,兩者執(zhí)行結(jié)果相同

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美一a一片一级一片 | 亚洲精品午夜在线 | 毛片一级免费看 | 日日做夜夜操 | 蜜桃网在线观看 | 亚洲aⅴ在线观看 | 一级做a爱片久久 | 欧美高清在线精品一区二区不卡 | 亚洲国产精品久久久久制服红楼梦 | 国产精品久久久久久久午夜片 | 2019亚洲日韩新视频 | 欧美黄 片免费观看 | 欧洲成人一区 | 欧美性猛交xxx乱大交3蜜桃 | 欧美一级在线看 | 久久久www成人免费精品 | 99日韩精品视频 | 99re热视频这里只精品 | 久久久久99精品 | 狠狠干91| 免费黄色小视频网站 | 日韩精品dvd | 久久国产一 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | a一级黄色大片 | 日本在线播放一区二区 | 亚洲精品aⅴ中文字幕乱码 欧美囗交 | 久久久久亚洲美女啪啪 | 久久不射电影网 | 成人勉费视频 | 中文字幕在线观看91 | 成人性生活视频在线观看 | 精品一区二区在线观看 | 亚洲aⅴ免费在线观看 | 欧美va亚洲| 一级黄色淫片 | 久久男 | 美女在线视频一区二区 | 青青草免费观看完整版高清 | 日韩黄色av网站 | 亚洲av一级毛片特黄大片 |