DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> javascript正則表達式容易被忽略的小問題整理
javascript正則表達式容易被忽略的小問題整理
編輯:JavaScript綜合知識     
小問題:lastIndex只對exec()和test()方法起作用,string.match(regexp)是不會影響regexp這個正則的lastIndex屬性的,具體祥看本文  

一、中括號[]裡面的特殊字符是不用轉義的,例如[/]、[.]、[*]、[?]、[+]都是可以直接匹配對應的字符 . *?+。下面是測試結果:

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

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

二者的區別主要在於正則表達式在設置了全局標識符g的情況。

如果沒有設置全局標識符g,那麼調用string.match(regexp)的結果和調用regexp.exec(string)的結果是相同的,

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

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

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

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved