正則表達(dá)式(RegExp)對(duì)象
提供簡(jiǎn)單的正則表達(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 = RetStr
End Function
MsgBox(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,regexp
dim msgstr
str="How are you"
msgstr="替換前:"str"br />"
'//創(chuàng)建RegExp對(duì)象
set regexp=new RegExp
'//設(shè)置正則表達(dá)式
regexp.Pattern="o."
'//設(shè)置是否替換所有匹配
regexp.Global=True
document.write msgstr
'//替換操作
msgstr=regexp.Replace(str,"test")
msgstr="替換后:"msgstr
document.write msgstr
end sub
3)Test方法
該方法的作用是判斷指定的字符串中是否有與指定的正則表達(dá)式相匹配的內(nèi)容。如果有,則返回Ture;否則返回False。同Replace方法類似,調(diào)用該法時(shí),正則表達(dá)式是由Pattern屬性指定的。二者不同在于,Global屬性的設(shè)置對(duì)該方法沒有影響。
sub window_onLoad()
dim str,regexp
dim blvar
str="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 if
end sub
這篇文章就介紹到這,需要的朋友可以參考一下。