佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > vbs正則表達(dá)式代碼

vbs正則表達(dá)式代碼

熱門標(biāo)簽:美圖手機(jī) 服務(wù)器配置 鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求 網(wǎng)站文章發(fā)布 銀行業(yè)務(wù) 智能手機(jī) 檢查注冊(cè)表項(xiàng)
%
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  "'."  "BR>"
    Next
         RegExpTest = RetStr
End Function

response.Write RegExpTest("[ij]s.", "IS1 Js2 IS3 is4")
%>
在這個(gè)例子中,我們查找字符串中有無is或者js這兩個(gè)詞,忽略大小寫。運(yùn)行的結(jié)果如下: 
Match found at position 0. Match Value is 'IS1'. 
Match found at position 4. Match Value is 'Js2'. 
Match found at position 8. Match Value is 'IS3'. 
Match found at position 12. Match Value is 'is4'. 
下面我們就介紹這三個(gè)對(duì)象和集合。 
1、RegExp對(duì)象是最重要的一個(gè)對(duì)象,它有幾個(gè)屬性,其中: 
○Global 屬性,設(shè)置或返回一個(gè) Boolean 值,該值指明在整個(gè)搜索字符串時(shí)模式是全部匹配還是只匹配第一個(gè)。如果搜索應(yīng)用于整個(gè)字符串,Global 屬性的值為 True,否則其值為 False。默認(rèn)的設(shè)置為 False。 
○IgnoreCase 屬性,設(shè)置或返回一個(gè)Boolean值,指明模式搜索是否區(qū)分大小寫。如果搜索是區(qū)分大小寫的,則 IgnoreCase 屬性為 False;否則為 True。缺省值為 False。 
○Pattern 屬性,設(shè)置或返回被搜索的正則表達(dá)式模式。必選項(xiàng)??偸且粋€(gè) RegExp 對(duì)象變量。 
2、Match 對(duì)象 
匹配搜索的結(jié)果是存放在Match對(duì)象中,提供了對(duì)正則表達(dá)式匹配的只讀屬性的訪問。 Match 對(duì)象只能通過 RegExp 對(duì)象的 Execute 方法來創(chuàng)建,該方法實(shí)際上返回了 Match 對(duì)象的集合。所有的 Match 對(duì)象屬性都是只讀的。在執(zhí)行正則表達(dá)式時(shí),可能產(chǎn)生零個(gè)或多個(gè) Match 對(duì)象。每個(gè) Match 對(duì)象提供了被正則表達(dá)式搜索找到的字符串的訪問、字符串的長(zhǎng)度,以及找到匹配的索引位置等。 
○FirstIndex 屬性,返回在搜索字符串中匹配的位置。FirstIndex 屬性使用從零起算的偏移量,該偏移量是相對(duì)于搜索字符串的起始位置而言的。換言之,字符串中的第一個(gè)字符被標(biāo)識(shí)為字符 0 
○Length 屬性,返回在字符串搜索中找到的匹配的長(zhǎng)度。 
○Value 屬性,返回在一個(gè)搜索字符串中找到的匹配的值或文本。 
3、Matches 集合 
正則表達(dá)式 Match 對(duì)象的集合。Matches 集合中包含若干獨(dú)立的 Match 對(duì)象,只能使用 RegExp 對(duì)象的 Execute 方法來創(chuàng)建之。與獨(dú)立的 Match 對(duì)象屬性相同,Matches `集合的一個(gè)屬性是只讀的。在執(zhí)行正則表達(dá)式時(shí),可能產(chǎn)生零個(gè)或多個(gè) Match 對(duì)象。每個(gè) Match 對(duì)象都提供了與正則表達(dá)式匹配的字符串的訪問入口、字符串的長(zhǎng)度,以及標(biāo)識(shí)匹配位置的索引。 
學(xué)習(xí)了這三個(gè)對(duì)象和集合,如何應(yīng)用于字符串的判斷和替換呢?regExp對(duì)象的三個(gè)方法正好解決了這個(gè)問題,它們是Replace方法、Test方法和Execute方法。 
1、Replace 方法 
替換在正則表達(dá)式查找中找到的文本。我們還是先看個(gè)例子:下面的例子說明了 Replace 方法的用法。 
%
Function ReplaceTest(patrn, replStr)
    Dim regEx, str1 ' 建立變量。
         str1 = "The quick brown fox jumped over the lazy dog."
    Set regEx = New RegExp ' 建立正則表達(dá)式。
         regEx.Pattern = patrn ' 設(shè)置模式。
         regEx.IgnoreCase = True ' 設(shè)置是否區(qū)分大小寫。
         ReplaceTest = regEx.Replace(str1, replStr) ' 作替換。
End Function

Response.Write ReplaceTest("fox", "cat")  "BR>" ' 將 'fox' 替換為 'cat'。
Response.Write ReplaceTest("(S+)(s+)(S+)", "$3$2$1") ' 交換詞對(duì).
%>
2、Test 方法 
對(duì)指定的字符串執(zhí)行一個(gè)正則表達(dá)式搜索,并返回一個(gè) Boolean 值指示是否找到匹配的模式。正則表達(dá)式搜索的實(shí)際模式是通過RegExp對(duì)象的Pattern屬性來設(shè)置的。RegExp.Global屬性對(duì)Test方法沒有影響。 
如果找到了匹配的模式,Test方法返回True;否則返回False。下面的代碼說明了Test 方法的用法。 
%
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

Response.Write RegExpTest("is.", "IS1 is2 IS3 is4")
%>
3、Execute 方法 
對(duì)指定的字符串執(zhí)行正則表達(dá)式搜索。正則表達(dá)式搜索的設(shè)計(jì)模式是通過 RegExp 對(duì)象的 Pattern 來設(shè)置的。 
Execute 方法返回一個(gè) Matches 集合,其中包含了在 string 中找到的每一個(gè)匹配的 Match 對(duì)象。如果未找到匹配,Execute 將返回空的 Matches 集合。

標(biāo)簽:河南 樂山 新疆 沈陽 長(zhǎng)治 滄州 紅河 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《vbs正則表達(dá)式代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    秭归县| 秦安县| 鲁山县| 通许县| 永康市| 娄烦县| 康定县| 昌邑市| 军事| 祁阳县| 平山县| 龙南县| 连平县| 佳木斯市| 吉隆县| 新宁县| 宜良县| 盐池县| 屏边| 克拉玛依市| 抚远县| 四平市| 黄浦区| 湖州市| 广宁县| 汶上县| 宜章县| 威海市| 东港市| 华蓥市| 许昌市| 涟水县| 延川县| 枣阳市| 井陉县| 田阳县| 东丽区| 五莲县| 荣成市| 西宁市| 扶风县|