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

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

          RegExp的靜態(tài)屬性列表:
          靜態(tài)屬性有2個(gè)名字,一個(gè)是復(fù)雜名,一個(gè)是以美元符號(hào)開頭的簡(jiǎn)短名字
          復(fù)雜名?????????????????????短名??????????????????????????????????????????????? 描述
          input???????????????????????? $_???????????????????????? 最后用于匹配的字符串(傳遞給test或exec方法的字符串)????
          lastMatch????????????????? $&???????????????????????最后匹配的字符
          lastParen?????????????????? $+????????????????????????最后匹配的分組
          leftContext?????????????? $`??????????????????????????上次配配的前面的字符串
          multiline?????????????????? $*???????????????????????? 用于指定是否所有的表達(dá)式都使用多行模式的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
          上面的例子使用的短名稱,可以用"."操作符,但是 大部分都應(yīng)該用"[ ]"標(biāo)記,因?yàn)橛行﹕cript不支持.regexp["$_"]
          每次執(zhí)行exec 或者test時(shí)這些屬性除了multiline以為都會(huì)被重新設(shè)置.但是IE和opera不支持multiline屬性,所以最好單獨(dú)的每個(gè)表達(dá)式設(shè)置m選項(xiàng),而不要直接設(shè)置這個(gè)標(biāo)記.
          posted on 2006-11-30 13:49 鄧兵野 閱讀(220) 評(píng)論(0)  編輯  收藏 所屬分類: javascript

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


          網(wǎng)站導(dǎo)航:
           

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

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 岳池县| 和硕县| 佛教| 江门市| 青阳县| 武川县| 花莲县| 西昌市| 永吉县| 察隅县| 碌曲县| 浑源县| 榆社县| 响水县| 天长市| 齐河县| 枣庄市| 五常市| 桦南县| 天祝| 屏东市| 北流市| 星子县| 满城县| 横山县| 邵武市| 离岛区| 尉氏县| 墨竹工卡县| 凯里市| 饶河县| 肇庆市| 高阳县| 滁州市| 巴东县| 禄丰县| 外汇| 竹北市| 阿拉善盟| 苏州市| 修武县|