一江春水向東流

          做一個有思想的人,期待與每一位熱愛思考的人交流,您的關注是對我最大的支持。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks

          正則表達式對象
          本對象包含正則表達式模式以及表明如何應用模式的標志。

          代碼
          1. 語法? 1 ?re?=?/pattern/[flags] ??
          2. 語法? 2 ?re?=? new ?RegExp( "pattern" ,[ "flags" ])? ??

          參數
          re
          必選項。將要賦值為正則表達式模式的變量名。

          Pattern
          必選項。要使用的正則表達式模式。如果使用語法 1,用 "/" 字符分隔模式。如果用語法 2,用引號將模式引起來。

          Flags
          可選項。如果使用語法 2 要用引號將 flag 引起來。標志可以組合使用,可用的有:

          代碼
          1. g?(全文查找出現的所有?pattern)? ??
          2. i?(忽略大小寫)? ??
          3. m?(多行查找)? ??

          示例
          下面的示例創建一個包含正則表達式模式及相關標志的對象(re),向您演示正則表達式對象的用法。在本例中,作為結果的正則表達式對象又用于 match 方法中:

          代碼
          1. function?MatchDemo() ??
          2. { ??
          3. var?r,?re;?//?聲明變量。 ??
          4. var?s?=?"The?rain?in?Spain?falls?mainly?in?the?plain"; ??
          5. re?=?new?RegExp("ain","g");?//?創建正則表達式對象。 ??
          6. r?=?s.match(re);?//?在字符串?s?中查找匹配。 ??
          7. return(r);? ??
          8. } ??

          返回值: ain,ain,ain,ain\\

          屬性 lastIndex 屬性 | source 屬性\\
          方法 compile 方法 | exec 方法 | test 方法\\
          要求 版本 3\\
          請參閱 RegExp 對象 | 正則表達式語法 | String 對象\\

          exec 方法
          用正則表達式模式在字符串中運行查找,并返回包含該查找結果的一個數組。
          rgExp.exec(str)

          參數

          rgExp
          必選項。包含正則表達式模式和可用標志的正則表達式對象。

          str
          必選項。要在其中執行查找的 String 對象或字符串文字。

          說明\\
          如果 exec 方法沒有找到匹配,則它返回 null。如果它找到匹配,則 exec 方法返回一個數組,并且更新全局 RegExp 對象的屬性,以反映匹配結果。數組的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出現的任意一個子匹配。這相當于沒有設置全局標志 (g) 的 match 方法。
          如果為正則表達式設置了全局標志,exec 從以 lastIndex 的值指示的位置開始查找。如果沒有設置全局標志,exec 忽略 lastIndex 的值,從字符串的起始位置開始搜索。

          exec 方法返回的數組有三個屬性,分別是 input、index 和 lastIndex。Input 屬性包含了整個被查找的字符串。Index 屬性中包含了整個被查找字符串中被匹配的子字符串的位置。LastIndex 屬性中包含了匹配中最后一個字符的下一個位置。

          示例\\
          下面的例子舉例說明了 exec 方法的用法:

          代碼
          1. function?RegExpTest() ??
          2. { ??
          3. var?ver?=?Number(ScriptEngineMajorVersion()?+?"."?+?ScriptEngineMinorVersion()) ??
          4. if?(ver?>=?5.5){?//?測試?JScript?的版本。 ??
          5. var?src?=?"The?rain?in?Spain?falls?mainly?in?the?plain."; ??
          6. var?re?=?/\w+/g;?//?創建正則表達式模式。 ??
          7. var?arr; ??
          8. while?((arr?=?re.exec(src))?!=?null) ??
          9. document.write(arr.index?+?"-"?+?arr.lastIndex?+?arr?+?"\t"); ??
          10. } ??
          11. else{ ??
          12. alert("請使用?JScript?的更新版本"); ??
          13. } ??
          14. } ??

          返回值:0-3The 4-8rain 9-11in 12-17Spain 18-23falls 24-30mainly 31-33in 34-37the 38-43plain

          test 方法\\
          返回一個 Boolean 值,它指出在被查找的字符串中是否存在模式。
          rgexp.test(str)

          參數\\
          rgexp
          必選項。包含正則表達式模式或可用標志的正則表達式對象。

          str
          必選項。要在其上測試查找的字符串。

          說明
          test 方法檢查在字符串中是否存在一個模式,如果存在則返回 true,否則就返回 false。
          全局 RegExp 對象的屬性不由 test 方法來修改。

          示例
          下面的例子舉例說明了 test 方法的用法:

          代碼
          1. function?TestDemo(re,?s) ??
          2. { ??
          3. var?s1;?//?聲明變量。 ??
          4. //?檢查字符串是否存在正則表達式。 ??
          5. if?(re.test(s))?//?測試是否存在。 ??
          6. s1?=?"?contains?";?//?s?包含模式。 ??
          7. else??
          8. s1?=?"?does?not?contain?";?//?s?不包含模式。 ??
          9. return("'"?+?s?+?"'"?+?s1?+?"'"+?re.source?+?"'");?//?返回字符串。 ??
          10. } ??

          函數調用:document.write (TestDemo(/ain+/ ,"The rain in Spain falls mainly in the plain."));

          返回值:'The rain in Spain falls mainly in the plain.' contains 'ain+'

          match 方法
          使用正則表達式模式對字符串執行查找,并將包含查找的結果作為數組返回。\\
          stringObj.match(rgExp)

          參數\\
          stringObj
          必選項。對其進行查找的 String 對象或字符串文字。

          rgExp
          必選項。為包含正則表達式模式和可用標志的正則表達式對象。也可以是包含正則表達式模式和可用標志的變量名或字符串文字。

          說明\\
          如果 match 方法沒有找到匹配,返回 null。如果找到匹配返回一個數組并且更新全局 RegExp 對象的屬性以反映匹配結果。
          match 方法返回的數組有三個屬性:input、index 和 lastIndex。Input 屬性包含整個的被查找字符串。Index 屬性包含了在整個被查找字符串中匹配的子字符串的位置。LastIndex 屬性包含了最后一次匹配中最后一個字符的下一個位置。
          如果沒有設置全局標志 (g),數組的 0 元素包含整個匹配,而第 1 到 n 元素包含了匹配中曾出現過的任一個子匹配。這相當于沒有設置全局標志的 exec 方法。如果設置了全局標志,元素 0 到 n 中包含所有匹配。

          示例\\
          下面的示例演示了match 方法的用法:

          代碼
          1. function?MatchDemo() ??
          2. { ??
          3. var?r,?re;?//?聲明變量。 ??
          4. var?s?=?"The?rain?in?Spain?falls?mainly?in?the?plain"; ??
          5. re?=?/ain/i;?//?創建正則表達式模式。 ??
          6. r?=?s.match(re);?//?嘗試匹配搜索字符串。 ??
          7. return(r);?//?返回第一次出現?"ain"?的地方。 ??
          8. } ??

          返回值:ain

          本示例說明帶 g 標志設置的 match 方法的用法。

          代碼
          1. function?MatchDemo() ??
          2. { ??
          3. var?r,?re;?//?聲明變量。 ??
          4. var?s?=?"The?rain?in?Spain?falls?mainly?in?the?plain"; ??
          5. re?=?/ain/ig;?//?創建正則表達式模式。 ??
          6. r?=?s.match(re);?//?嘗試去匹配搜索字符串。 ??
          7. return(r);?//?返回的數組包含了所有?"ain"? ??
          8. //?出現的四個匹配。 ??
          9. } ??

          返回值:ain,ain,ain,ain

          上面幾行代碼演示了字符串文字的 match 方法的用法。

          代碼
          1. var?r,?re?=?"Spain"; ??
          2. r?=?"The?rain?in?Spain".replace(re,?"Canada"); ??
          3. return?r; ??

          返回值:The rain in Canada

          search 方法
          返回與正則表達式查找內容匹配的第一個子字符串的位置。

          stringObj.search(rgExp)

          參數\\
          stringObj
          必選項。要在其上進行查找的 String 對象或字符串文字。

          rgExp
          必選項。包含正則表達式模式和可用標志的正則表達式對象。

          說明

          search 方法指明是否存在相應的匹配。如果找到一個匹配,search 方法將返回一個整數值,指明這個匹配距離字符串開始的偏移位置。如果沒有找到匹配,則返回 -1。

          示例\\
          下面的示例演示了 search 方法的用法。

          代碼
          1. function?SearchDemo() ??
          2. { ??
          3. var?r,?re;?//?聲明變量。 ??
          4. var?s?=?"The?rain?in?Spain?falls?mainly?in?the?plain."; ??
          5. re?=?/falls/i;?//?創建正則表達式模式。 ??
          6. r?=?s.search(re);?//?查找字符串。 ??
          7. return(r);?//?返回?Boolean?結果。 ??
          8. } ?
          posted on 2007-07-01 21:48 allic 閱讀(336) 評論(0)  編輯  收藏 所屬分類: Javascript,css,AJAX等瀏覽器前臺效果
          主站蜘蛛池模板: 阿瓦提县| 永年县| 东兰县| 内黄县| 十堰市| 大化| 乌拉特中旗| 桂阳县| 黎平县| 织金县| 潜江市| 清流县| 兴隆县| 台北县| 沈丘县| 当涂县| 凉城县| 甘肃省| 万年县| 观塘区| 嘉鱼县| 贵南县| 河北省| 中方县| 加查县| 阜平县| 克东县| 德格县| 舟曲县| 临洮县| 浮山县| 陵川县| 二连浩特市| 乌审旗| 麻栗坡县| 凤庆县| 兰考县| 红安县| 高平市| 江达县| 铁力市|