herodby
          技術(shù) 筆記
          posts - 14,  comments - 14,  trackbacks - 0
          RegExp類是正則表達式類,它的構(gòu)造函數(shù)可以是2個或者1個. 第一個參數(shù)是匹配的模式(字符串),第二個參數(shù)是是額外的處理指令.
          它有2個方法用來匹配模式 test方法,比較常用,不做介紹.? exec方法,有一個參數(shù),即被匹配的字符串, 返回一個數(shù)組, 數(shù)組的第一個條目為第一個匹配字符串,其他的為反向引用.
          String類的replace方法可以擴展,也就是說方法的第一個參數(shù)是一個正則表達式,第二個數(shù)是一個替換的字符串.同時第二個參數(shù)可以一個方法function.例如:
          var bb = "a bat,a cat,a fAt,a faT cat";
          var reg = /at/gi;
          alert(bb.replace(reg,function(sMatch){alert(sMatch); return "dog";}));
          看看會輸出什么,^_^.
          反向引用: 是按照從左到右遇到的作括號的順序進行創(chuàng)建和編號的.例如:
          var? sToMatch="#123456";
          var reg=/#(\d+)/;
          reg.test(sToMatch);
          alert(RegExp.$1);?
          輸出的是123456;

          RegExp的實例屬性:
          global:? bool值,用g表示 是否設(shè)置全局選項.
          ignoreCase:bool值,用i表示 是否忽略大小寫.
          lastIndex:整數(shù),大表下次匹配將會從哪個字符位置開始(只有當使用exec()或test()函數(shù)后才會填入,否則為0);
          source: 增則表達式的原字符串形式.例如:/[bar]*/ 的source將返回[bar]*

          RegExp的靜態(tài)屬性列表:
          靜態(tài)屬性有2個名字,一個是復雜名,一個是以美元符號開頭的簡短名字
          復雜名?????????????????????短名??????????????????????????????????????????????? 描述
          input???????????????????????? $_???????????????????????? 最后用于匹配的字符串(傳遞給test或exec方法的字符串)????
          lastMatch????????????????? $&???????????????????????最后匹配的字符
          lastParen?????????????????? $+????????????????????????最后匹配的分組
          leftContext?????????????? $`??????????????????????????上次配配的前面的字符串
          multiline?????????????????? $*???????????????????????? 用于指定是否所有的表達式都使用多行模式的bool值
          rightContext???????????? $'?????????????????????????? 上次配配之后的字符串

          例子:
          var? sMatch="this has been a short ,short number";
          var? reg = /(s)hort/g;
          reg.test(sMatch);
          alert(RegExp.$_);? //? this has been?a short ,short number
          alert(RegExp.$`);//?this?has bean? a
          alert(RegExp.$');// ,short number
          alert(RegExp.$&)// short
          alert(regExp.$+);// s
          上面的例子使用的短名稱,可以用"."操作符,但是 大部分都應該用"[ ]"標記,因為有些script不支持.regexp["$_"]
          每次執(zhí)行exec 或者test時這些屬性除了multiline以為都會被重新設(shè)置.但是IE和opera不支持multiline屬性,所以最好單獨的每個表達式設(shè)置m選項,而不要直接設(shè)置這個標記.
          posted on 2006-11-30 13:49 鄧兵野 閱讀(221) 評論(0)  編輯  收藏 所屬分類: javascript

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


          網(wǎng)站導航:
           

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 方山县| 新晃| 佛坪县| 沙田区| 平原县| 玉门市| 灵石县| 铜鼓县| 铜川市| 保山市| 陆良县| 沅陵县| 罗山县| 卢氏县| 肥东县| 龙海市| 容城县| 易门县| 峡江县| 涿鹿县| 泽普县| 岳阳市| 奉化市| 三台县| 宁城县| 禹州市| 泽普县| 双城市| 花垣县| SHOW| 东宁县| 邵东县| 罗江县| 静宁县| 怀安县| 南和县| 同江市| 大庆市| 寿宁县| 密山市| 呼和浩特市|