欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript正則表達式容易被忽略的小問題整理

 更新時間:2013年07月11日 17:33:39   作者:  
小問題:lastIndex只對exec()和test()方法起作用,string.match(regexp)是不會影響regexp這個正則的lastIndex屬性的,具體祥看本文

一、中括號[]里面的特殊字符是不用轉(zhuǎn)義的,例如[/]、[.]、[*]、[?]、[+]都是可以直接匹配對應(yīng)的字符\ . *?+。下面是測試結(jié)果:

所以,/[\d.]/這個正則表達式實際上是匹配數(shù)字字符或者字符".",作用等同于/[\d\.]/

二、match()和exec()的區(qū)別

二者的區(qū)別主要在于正則表達式在設(shè)置了全局標識符g的情況。

如果沒有設(shè)置全局標識符g,那么調(diào)用string.match(regexp)的結(jié)果和調(diào)用regexp.exec(string)的結(jié)果是相同的,

但在設(shè)置了全局標識符g時,string.match(regexp)會把所有的匹配都放入結(jié)果數(shù)組中,regexp.exec(string)的結(jié)果則只給出第一個成功的匹配。

而用regexp.lastIndex屬性來記錄下一次匹配開始的位置。測試如下:

PS:另外要注意的是lastIndex只對exec()和test()方法起作用,string.match(regexp)是不會影響regexp這個正則的lastIndex屬性的。

相關(guān)文章

最新評論