国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

ASP 正則表達式常用的幾種方法(execute、test、replace)

2020-03-16 21:14:15
字體:
來源:轉載
供稿:網友
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 方法來創建之。例子: 
vbs測試代碼 
復制代碼代碼如下:

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")) 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘孜县| 建昌县| 武强县| 永和县| 宁陵县| 枝江市| 滨州市| 通州市| 鹰潭市| 青海省| 崇州市| 平凉市| 延长县| 化德县| 莱州市| 于都县| 天全县| 井研县| 嫩江县| 昌乐县| 石嘴山市| 炉霍县| 新巴尔虎左旗| 定陶县| 西贡区| 博兴县| 百色市| 徐水县| 诸暨市| 峨边| 闵行区| 南漳县| 长兴县| 科技| 阿克陶县| 绥中县| 苍山县| 连山| 利川市| 玉林市| 连平县|