posts - 167,  comments - 30,  trackbacks - 0

          在學習javascript中正則是經常使用的,在正則中的特殊符號,需要轉義等,下面對正則中的轉義和特殊字符進行介紹

          首先是元字符,意思是,在使用這些字符時,必須使用轉義字符,負責會出錯.
          元字符有:()[]{}\^$|?*
          任何時候用在正則表達式中用到以上字符必須進行轉義.
          舉例:假如匹配?這個字符
          var re = /\?/;
          或者
          var re = new RegExp("\\?");
          正則中的特殊符號:    
          注意到第二個正則,當用到\的時候,多用了\來進行轉義\ 最后達到兩個\\,叫做雙重轉義
          其次 特殊符號
          在則會功能則中可以使用ASCII代碼也可以用Unicode代碼.
          當用字符用十六進制表示時,在字符簽名必須加上\x
          當用八進制時,在紫府前必須加上 \
          當用Unicode編碼表示是必須加上 \
          還有其它一些特殊符號
          字符      說明
          \t  制表符
          \n  換行符
          \r  回車符
          \a  換頁符
          \e  alert字符
          \cX escape字符
          \b  與X相對應的字符
          \v  回退字符
          \0  空字符
          如果用RegExp構造函數來使用它們,則必須使用雙重轉義.
          以上就是正則中的特殊符號


          正則表達之字符類:

          先說一下字符類的意思,字符類是用于測試的字符組合.字符類是放到中括號[]中的,可以有效的告訴正則去匹配.在字符類又分為五個簡單的類,分別說一下
          1.簡單類
          簡單類就是你想要匹配的字母組
          舉例說明
          var _class = /[abc]de/gi;
          上面的一個字符類就是一個簡單的類,可以匹配ade,bde,cde.三種,后面的g和i分別是全局和不區分大小寫.
          再簡單類中還可以使用unicode編碼
          var _class = /[a\u0062c]de/gi;
          這個跟上面的一樣,可以匹配ade,bde,cde.三種,后面的g和i分別是全局和不區分大小寫.
          2.負向類
          負向類就是你要排除的字母,用上尖號(^)表示負向類
          舉例//www.forasp.cn 轉載請注明
          var _class = /[^abc]de/gi;
          用了負向類^就排除了a,b,c三個開頭的字符串,即 ade,bde,cde都不匹配
          3.范圍類
          范圍類即指定從一個字符到另一個字符的范圍,用中杠(-)表示.
          舉例
          var _class = /[a-c]de/gi;//這就是表示從a到c,即,abc都匹配
          上面的就匹配了ade,bde,cde.三種.也可以加上負向類表示不匹配
          var _class = /[^a-c]de/gi;//這就是表示從a到c,即,abc都不匹配
          4.組合類
          組合類是有幾種其它類的組合而合成的字符類.
          舉例
          var _class = /[1-9a-c]/gi;
          上面的表達式就是1-9或者a-c均能匹配,列舉1,2,3,4,5,6,7,8,9,a,b,c
          在此 要注意的是字符內部類之間不能有空格.還有不能有交叉.
          5.預定義類//www.forasp.cn 轉載請注明
          預定義類就是將復雜的組合類預定義成特定的代碼.
          列舉了javascrip中的預定義類
          代碼   等同于  匹配
          .    [^\n\r]  出了換行和回車以外的任何字符
          \d   [0-9]    數字
          \D   [^0-9]   非數字
          \s   [ \t\n\xB\f\r]  空白字符
          \S   [^ \t\n\xB\f\r] 非空白字符
          \w   [a-zA-Z_0-9]  單詞字符,包括字母下劃線和數字
          \W   [^a-zA-Z_0-9]  非單詞字符

          以上就是常用的正則表達式的字符類,常用謹記

          ====================
          正則表達之量詞

          正則表達式中的量詞,規定了特定的字符串出現的次數.當指定某個模式應當出現的出售時,可以指定硬性數量.
          可以說分為兩類量詞
          1.簡單量詞,如下標識
          代碼   描述
          ?     出現零次或者一次
          *     出現任意次數
          +     至少出現一次
          {n}   一定出現n次
          {n,m} 至少出現n次最多出現m次
          {n,}  至少出現n次
          舉例說明以上的標識,gi是全局部分大小寫,下面就不說gi了.
          var foraspcn = /[ab]?c/gi;//匹配 c,ac,bc
          var foraspcn = /[ab]*c/gi;//匹配 c,aac,bbc...
          var foraspcn = /[ab]+c/gi;//匹配 ac,bc,aac,bbc..
          var foraspcn = /[ab]{1}c/gi;//匹配 ac,bc
          var foraspcn = /[ab]{1,2}c/gi;//匹配 ac,bc,aac,bbc
          var foraspcn = /[ab]{1,}c/gi;//匹配 ac,bc,aac,bbc...
          看看看懂沒有,有的時候有的是相等的比如
          ?就等于{0,1}
          *等于{0,}
          +等于{1,}
          2.貪婪的,惰性的,支配性的量詞
          首先解釋一下三種量詞.
          貪婪量詞就是先看整個字符串師傅匹配,如果沒有,則去掉字符串最后一個字符,再次匹配.一直到發現最后一個匹配或者字符串不剩下任何字符.目前的量詞都是貪婪的.
          惰性量詞是首先看第一個字符是否匹配,如果單獨這一個字符不夠,則讀入下一個,與組成兩個字符去匹配,如果沒有發現再次讀取下一個字符,直到發現匹配或者整個字符串都沒有匹配.惰性和貪婪正好相反.
          支配量詞擦好難過時匹配整個字符串,如果不匹配則不再嘗試.支配量詞就是整體匹配一次.$hidden$

          貪婪的,惰性的,支配性的量詞 表如下
          貪婪的 惰性的 支配性 描述
          ?      ??     ?+    零次或者一次出現
          *      *?     *+    零次或者多次出現
          +      +?     ++    至少一次出現
          {n}    {n}?   {n}+  正好n次出現
          {n,m}  {n,m}? {n,m}+至少n次出現,至多m次出現
          {n,}   {n,}?  {n,}+ 至少n次出現

          以上就是正則中量詞的相關內容

          posted on 2010-12-30 15:40 David1228 閱讀(468) 評論(0)  編輯  收藏 所屬分類: 正則

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章檔案

          新聞分類

          新聞檔案

          相冊

          收藏夾

          Java

          Linux知識相關

          Spring相關

          云計算/Linux/虛擬化技術/

          友情博客

          多線程并發編程

          開源技術

          持久層技術相關

          搜索

          •  

          積分與排名

          • 積分 - 359355
          • 排名 - 154

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 饶阳县| 大宁县| 阿鲁科尔沁旗| 无为县| 伊春市| 民权县| 博客| 岱山县| 南安市| 静宁县| 涞源县| 滦南县| 上高县| 盈江县| 马关县| 保康县| 佛冈县| 云龙县| 淳化县| 东兰县| 九寨沟县| 光泽县| 札达县| 贵州省| 繁峙县| 米泉市| 钟祥市| 阳曲县| 分宜县| 惠水县| 台东县| 耒阳市| 岐山县| 读书| 高安市| 忻城县| 保靖县| 三台县| 清涧县| 平塘县| 建水县|