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

首頁(yè) > 編程 > regex > 正文

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

2020-01-20 22:19:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
RegExp就是建立正則的對(duì)像。
如:
Set regEx = New RegExp

regEx.Pattern 就是來(lái)設(shè)置正則的模式的,
如:
regEx.Pattern ="/d+"

regEx.IgnoreCase = True ' 設(shè)置是否區(qū)分大小寫
regEx.Global = True ' 設(shè)置全程可用性。


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

test方法是對(duì)指定的字符串執(zhí)行一個(gè)正則表達(dá)式搜索,并返回一個(gè) Boolean 值指示是否找到匹配的模式。RegExp.Global屬性對(duì)Test方法沒有影響。如果找到了匹配的模式,Test方法返回True;否則返回False。
例子:

測(cè)試的時(shí)候,msgbox是vbs的用法,如果是asp文件,需要將msgbox替換為response.write
復(fù)制代碼 代碼如下:

Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 建立變量。
Set regEx = New RegExp ' 建立正則表達(dá)式。
regEx.Pattern = patrn ' 設(shè)置模式。
regEx.IgnoreCase = False ' 設(shè)置是否區(qū)分大小寫。
retVal = regEx.Test(strng) ' 執(zhí)行搜索測(cè)試。
If retVal Then
RegExpTest = "找到一個(gè)或多個(gè)匹配。"
Else
RegExpTest = "未找到匹配。"
End If
End Function

MsgBox(RegExpTest("/d+", "abcd1234"))
MsgBox(RegExpTest("/d+", "abcd"))


Replace 方法替換在正則表達(dá)式查找中找到的文本
例子:
vbs代碼
復(fù)制代碼 代碼如下:

Function ReplaceTest(str,patrn, replStr)
Dim regEx, str1 ' 建立變量。
'str1 = "dog 123."
Set regEx = New RegExp ' 建立正則表達(dá)式。
regEx.Pattern = patrn ' 設(shè)置模式。
regEx.IgnoreCase = True ' 設(shè)置是否區(qū)分大小寫。
ReplaceTest = regEx.Replace(str, replStr) ' 作替換。
End Function

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


Execute 方法,則是對(duì)指定的字符串執(zhí)行正則表達(dá)式搜索。這里又涉及到Match對(duì)像和Matches 集合。Matches 集合就是match的對(duì)像集合。Matches 集合中包含若干獨(dú)立的 Match 對(duì)象,只能使用 RegExp 對(duì)象的 Execute 方法來(lái)創(chuàng)建之。例子:
vbs測(cè)試代碼
復(fù)制代碼 代碼如下:

Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches ' 建立變量。
Set regEx = New RegExp ' 建立正則表達(dá)式。
regEx.Pattern = patrn ' 設(shè)置模式。
regEx.IgnoreCase = True ' 設(shè)置是否區(qū)分大小寫。
regEx.Global = True ' 設(shè)置全程可用性。
Set Matches = regEx.Execute(strng) ' 執(zhí)行搜索。
For Each Match in Matches ' 遍歷 Matches 集合。
RetStr = RetStr & Match.FirstIndex & "。匹配的長(zhǎng)度為"&" "
RetStr = RetStr & Match.Length &" "
RetStr = RetStr & Matches(0) &" " '值為123
RetStr = RetStr & Matches(1)&" " '值為44
RetStr = RetStr & Match.value&" " '值為123和44的數(shù)組
RetStr = RetStr & vbCRLF
Next
RegExpTest = RetStr
End Function
MsgBox(RegExpTest("/d+", "123a44"))
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 林芝县| 新邵县| 阳曲县| 雅江县| 宜城市| 进贤县| 普兰县| 平阳县| 洛川县| 伊川县| 盐源县| 安塞县| 金塔县| 宁陵县| 沅陵县| 岑溪市| 芦山县| 桂阳县| 南昌县| 麻阳| 二手房| 正镶白旗| 贡觉县| 高雄县| 外汇| 江北区| 安图县| 丹凤县| 志丹县| 翁牛特旗| 泾阳县| 蒲江县| 天峻县| 平利县| 泸水县| 湛江市| 泸州市| 遵义县| 额敏县| 自治县| 杭锦后旗|