天天看點

asp 頁面中使用正規表達式

  RegExp就是建立正則的對像。如: Set regEx = New RegExp regEx.Pattern 就是來設定正則的模式的,如: regEx.Pattern ="/d+" regEx.IgnoreCase = True ' 設定是否區分大小寫 regEx.Global = True ' 設定全程可用性。 RegExp對像有3種方法,分别是execute、test、replace。 test方法是對指定的字元串執行一個正規表達式搜尋,并傳回一個 Boolean 值訓示是否找到比對的模式。RegExp.Global屬性對Test方法沒有影響。如果找到了比對的模式,Test方法傳回True;否則傳回False。 例子: 測試的時候,msgbox是vbs的用法,如果是asp檔案,需要将msgbox替換為response.write 複制代碼 代碼如下: Function RegExpTest(patrn, strng) Dim regEx, retVal ' 建立變量。 Set regEx = New RegExp ' 建立正規表達式。 regEx.Pattern = patrn ' 設定模式。 regEx.IgnoreCase = False ' 設定是否區分大小寫。 retVal = regEx.Test(strng) ' 執行搜尋測試。 If retVal Then RegExpTest = "找到一個或多個比對。" Else RegExpTest = "未找到比對。" End If End Function MsgBox(RegExpTest("\d+", "abcd1234")) MsgBox(RegExpTest("\d+", "abcd")) Replace 方法替換在正規表達式查找中找到的文本 例子: vbs代碼 複制代碼 代碼如下: Function ReplaceTest(str,patrn, replStr) Dim regEx, str1 ' 建立變量。 'str1 = "dog 123." Set regEx = New RegExp ' 建立正規表達式。 regEx.Pattern = patrn ' 設定模式。 regEx.IgnoreCase = True ' 設定是否區分大小寫。 ReplaceTest = regEx.Replace(str, replStr) ' 作替換。 End Function MsgBox(ReplaceTest("dog 123","\d+", "cat")) '将字元串中的123替換為cat Execute 方法,則是對指定的字元串執行正規表達式搜尋。這裡又涉及到Match對像和Matches 集合。Matches 集合就是match的對像集合。Matches 集合中包含若幹獨立的 Match 對象,隻能使用 RegExp 對象的 Execute 方法來建立之。例子: 代碼如下: Function RegExpTest(patrn, strng) Dim regEx, Match, Matches ' 建立變量。 Set regEx = New RegExp ' 建立正規表達式。 regEx.Pattern = patrn ' 設定模式。 regEx.IgnoreCase = True ' 設定是否區分大小寫。 regEx.Global = True ' 設定全程可用性。 Set Matches = regEx.Execute(strng) ' 執行搜尋。 For Each Match in Matches ' 周遊 Matches 集合。 RetStr = RetStr & Match.FirstIndex & "。比對的長度為"&" " RetStr = RetStr & Match.Length &" " RetStr = RetStr & Matches(0) &" " '值為123 RetStr = RetStr & Matches(1)&" " '值為44 RetStr = RetStr & Match.value&" " '值為123和44的數組 RetStr = RetStr & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("\d+", "123a44"))