ASP Regex常用的幾種方法(execute、test、replace)

來源:互聯網
上載者:User

RegExp就是建立正則的對像。
如:
Set regEx = New RegExp

regEx.Pattern 就是來設定正則的模式的,
如:
regEx.Pattern ="/d+"

regEx.IgnoreCase = True ' 設定是否區分大小寫
regEx.Global = True ' 設定全程可用性。

RegExp對像有3種方法,分別是execute、test、replace。

test方法是對指定的字串執行一個Regex搜尋,並返回一個 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。
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 方法替換在Regex尋找中找到的文本
例子:
vbs代碼 複製代碼 代碼如下:Function ReplaceTest(str,patrn, replStr)
Dim regEx, str1 ' 建立變數。
'str1 = "dog 123."
Set regEx = New RegExp ' 建立Regex。
regEx.Pattern = patrn ' 設定模式。
regEx.IgnoreCase = True ' 設定是否區分大小寫。
ReplaceTest = regEx.Replace(str, replStr) ' 作替換。
End Function

MsgBox(ReplaceTest("dog 123","\d+", "cat")) '將字串中的123替換為cat

Execute 方法,則是對指定的字串執行Regex搜尋。這裡又涉及到Match對像和Matches 集合。Matches 集合就是match的對像集合。Matches 集合中包含若干獨立的 Match 對象,只能使用 RegExp 對象的 Execute 方法來建立之。例子:
vbs測試代碼 複製代碼 代碼如下:Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches ' 建立變數。
Set regEx = New RegExp ' 建立Regex。
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"))

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.