熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

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

2013-11-15 12:07:19  來源: JSP教程 
小問題:lastIndex只對exec()和test()方法起作用stringmatch(regexp)是不會影響regexp這個正則的lastIndex屬性的具體祥看本文  

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

  

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

  

  match()和exec()的區別

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

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

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

  而用regexplastIndex屬性來記錄下一次匹配開始的位置測試如下

  

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


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20333.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.