正則表達(dá)式(RegExp)對(duì)象
提供簡單的正則表達(dá)式支持功能。
說明
下面的代碼說明了RegExp對(duì)象的用法:
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 ' 遍歷匹配集合。 RetStr = RetStr & "Match found at position " RetStr = RetStr & Match.FirstIndex & ". Match Value is '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStrEnd FunctionMsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
RegExp對(duì)象在VBScript中提供正則表達(dá)式支持功能,該對(duì)象有3個(gè)屬性和3個(gè)方法。
1)Execute方法
該方法用于對(duì)指定正則表達(dá)式進(jìn)行匹配檢測(cè),其值返回一個(gè)Matches集合,其中包含了所有檢測(cè)到匹配的Match對(duì)象。如果沒有檢測(cè)到任何匹配則返回一個(gè)空的Matches集合。
語法格式:regexp.Execute(string)
其中,regexp為RegExp對(duì)象的變量名稱;string為要進(jìn)行匹配檢測(cè)的有效字符串表達(dá)式。
2)Replace方法
調(diào)用Replace方法時(shí),如果在指定字符串中找到與指定正則表達(dá)式相匹配的字符(串),則用指定的其他字符(串)進(jìn)行替換。該方法的返回值為替換以后的字符串表達(dá)式。
語法格式:regexp.Replace(string1,string2)
其中,regexp為RegExp對(duì)象的變量名稱;string1為要被檢測(cè)并替換的字符串表達(dá)式;string2為用于替換的字符串表達(dá)式。
sub window_onLoad() dim str,regexpdim msgstrstr="How are you"msgstr="替換前:"&str&"<br />"'//創(chuàng)建RegExp對(duì)象set regexp=new RegExp'//設(shè)置正則表達(dá)式regexp.Pattern="o."'//設(shè)置是否替換所有匹配regexp.Global=Truedocument.write msgstr'//替換操作msgstr=regexp.Replace(str,"test")msgstr="替換后:"&msgstrdocument.write msgstrend sub
3)Test方法
該方法的作用是判斷指定的字符串中是否有與指定的正則表達(dá)式相匹配的內(nèi)容。如果有,則返回Ture;否則返回False。同Replace方法類似,調(diào)用該法時(shí),正則表達(dá)式是由Pattern屬性指定的。二者不同在于,Global屬性的設(shè)置對(duì)該方法沒有影響。
sub window_onLoad() dim str,regexpdim blvarstr="This is a test"'//創(chuàng)建RegExp對(duì)象set regexp=new RegExp'//設(shè)置正則表達(dá)式regexp.Pattern=".s"'//調(diào)用Test方法blvar=regexp.Test(str)if blvar then document.write "在"&str&"中找到了與"®exp.pattern&"相匹配的內(nèi)容"else document.write "沒有找到匹配內(nèi)容" end ifend sub
這篇文章就介紹到這,需要的朋友可以參考一下。
新聞熱點(diǎn)
疑難解答
圖片精選