RegExp對象的用法:
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 ' 遍歷匹配集合。
RetStr = RetStr & "Match found at position "
RetStr = RetStr & Match.FirstIndex & ". Match is '"
RetStr = RetStr & Match. & "'." & vbCRLF
Next
RegExpTest = RetStr
End
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
RegExp 對象的屬性
◎ Global屬性
Global屬性設置或返回一個 Boolean 值,該值指明在整個搜索字符串時模式是全部匹配還是只匹配第一個。
語法
object.Global [= True | False ]
object 參數總是 RegExp 對象。如果搜索應用于整個字符串,Global 屬性的值為 True,否則其值為 False。默認的設置為 True。
Global 屬性的用法(改變賦予 Global 屬性的值并觀察其效果):
RegExpTest(patrn, strng)
Dim regEx ' 建立變量。
Set regEx = New RegExp ' 建立規范表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = True ' 設置是否區分字母的大小寫。
regEx.Global = True ' 設置全程性質。
RegExpTest = regEx.Execute(strng) ' 執行搜索。
End
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
◎ IgnoreCase屬性
IgnoreCase屬性設置或返回一個Boolean值,指明模式搜索是否區分大小寫。
語法
object.IgnoreCase [= True | False ]
object 參數總是一個 RegExp 對象。如果搜索是區分大小寫的,則 IgnoreCase 屬性為 False;否則為 True。缺省值為 True。
IgnoreCase 屬性的用法(改變賦予 IgnoreCase 屬性的值以觀察其效果):
RegExpTest(patrn, strng)
Dim regEx ' 建立變量。
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = True ' 設置是否區分大小寫。
RegExpTest = regEx.Execute(strng) ' 執行搜索。
End
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
◎ Pattern屬性
Pattern屬性設置或返回被搜索的正則表達式模式。
語法
object.Pattern [= "searchstring"]
Pattern 屬性的語法包含以下幾個部分:
語法說明:
object 必需的。總是一個 RegExp 對象變量。
searchstring 可選的。被搜索的正則字符串表達式。它可能包含設置部分表格中的各種正則表達式字符。
設置
在書寫正則表達式的模式時使用了特殊的字符和序列。下面描述了可以使用的字符和序列,并給出了實例。
\ 將下一個字符標記為特殊字符或字面值。例如"n"與字符"n"匹配。"\n"與換行符匹配。序列"\\"與"\"匹配對面,"\("與"("匹配。
^ 匹配輸入的開始位置。
$ 匹配輸入的結尾。
* 匹配前一個字符零次或幾次。例如,"zo*"可以匹配"z"、"zoo"。
+ 匹配前一個字符一次或多次。例如,"zo+"可以匹配"zoo",但不匹配"z"。
? 匹配前一個字符零次或一次。例如,"a?ve?"可以匹配"never"中的"ve"。
. 匹配換行符以外的任何字符。
(pattern) 與模式匹配并記住匹配。匹配的子字符串可以從作為結果的 Matches 集合中使用 Item [0]...[n]取得。如果要匹配括號字符(和 ),可使用"\(" 或 "\)"。
x|y 匹配 x 或 y。例如 "z|food" 可匹配 "z" 或 "food"。"(z|f)ood" 匹配 "zoo" 或 "food"。
{n} n 為非負的整數。匹配恰好n次。例如,"o{2}" 不能與 "Bob 中的 "o" 匹配,但是可以與"foooood"中的前兩個o匹配。
{n,} n 為非負的整數。匹配至少n次。例如,"o{2,}"不匹配"Bob"中的"o",但是匹配"foooood"中所有的o。"o{1,}"等價于"o+"。"o{0,}"等價于"o*"。
{n,m} m 和 n 為非負的整數。匹配至少 n 次,至多 m 次。例如,"o{1,3}" 匹配 "fooooood"中前三個o。"o{0,1}"等價于"o?"。
[xyz] 一個字符集。與括號中字符的其中之一匹配。例如,"[abc]" 匹配"plain"中的"a"。
[^xyz] 一個否定的字符集。匹配不在此括號中的任何字符。例如,"[^abc]" 可以匹配"plain"中的"p".
[a-z] 表示某個范圍內的字符。與指定區間內的任何字符匹配。例如,"[a-z]"匹配"a"與"z"之間的任何一個小寫字母字符。
[^m-z] 否定的字符區間。與不在指定區間內的字符匹配。例如,"[m-z]"與不在"m"到"z"之間的任何字符匹配。
\b 與單詞的邊界匹配,即單詞與空格之間的位置。例如,"er\b" 與"never"中的"er"匹配,但是不匹配"verb"中的"er"。
\B 與非單詞邊界匹配。"ea*r\B"與"never early"中的"ear"匹配。
\d 與一個數字字符匹配。等價于[0-9]。
\D 與非數字的字符匹配。等價于[^0-9]。
\f 與分頁符匹配。
\n 與換行符字符匹配。
\r 與回車字符匹配。
\s 與任何白字符匹配,包括空格、制表符、分頁符等。等價于"[ \f\n\r\t\v]"。
\S 與任何非空白的字符匹配。等價于"[^ \f\n\r\t\v]"。
\t 與制表符匹配。
\v 與垂直制表符匹配。
\w 與任何單詞字符匹配,包括下劃線。等價于"[A-Za-z0-9_]"。
\W 與任何非單詞字符匹配。等價于"[^A-Za-z0-9_]"。
\num 匹配 num個,其中 num 為一個正整數。引用回到記住的匹配。例如,"(.)\1"匹配兩個連續的相同的字符。
\n 匹配 n,其中n 是一個八進制換碼值。八進制換碼值必須是 1, 2 或 3 個數字長。例如,"\11" 和 "\011" 都與一個制表符匹配。"\0011"等價于"\001" 與 "1"。八進制換碼值不得超過 256。否則,只有前兩個字符被視為表達式的一部分。允許在正則表達式中使用ASCII碼。
\xn 匹配n,其中n是一個十六進制的換碼值。十六進制換碼值必須恰好為兩個數字長。例如,"\x41"匹配"A"。"\x041"等價于"\x04" 和 "1"。允許在正則表達式中使用 ASCII 碼。
Pattern 屬性的用法:
RegExpTest(patrn, strng)
Dim regEx ' 建立變量。
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = True ' 設置是否區分大小寫。
RegExpTest = regEx.Execute(strng) ' 執行搜索。
End
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
RegExp對象的方法
◎ Execute方法
Execute方法對指定的字符串執行正則表達式搜索。
語法
object.Execute(string)
語法部分描述
object 必需的。總是一個 RegExp 對象的名稱。
string 必需的。要在其上執行正則表達式的文本字符串。
說明
正則表達式搜索的設計模式是通過 RegExp 對象的 Pattern 來設置的。
Execute 方法返回一個 Matches 集合,其中包含了在 string 中找到的每一個匹配的 Match 對象。如果未找到匹配,Execute 將返回空的 Matches 集合。
Execute 方法的用法:
RegExpTest(patrn, strng)
Dim regEx ' 建立變量。
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = False ' 設置區分大小寫。
regEx.Global = True ' 搜索全部匹配。
RegExpTest = regEx.Execute(strng) ' 執行搜索。
End
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
◎ Replace方法
Replace方法替換在正則表達式查找中找到的文本。
語法
object.Replace(string1, string2)
語法部分描述
object 必需的。總是一個 RegExp 對象的名稱。
string1 必需的。string1 是將要進行文本替換的字符串。
string2 必需的。 string2 是替換文本字符串。
說明
被替換的文本的實際模式是通過 RegExp 對象的 Pattern 屬性設置的。
Replace 方法返回 string1 的副本,其中的 RegExp.Pattern 文本已經被替換為 string2。如果沒有找到匹配的文本,將返回原來的 string1 的副本。
eplace 方法的用法:
ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立變量。
str1 = "The quick brown fox jumped over the lazy dog."
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = True ' 設置是否區分大小寫。
ReplaceTest = regEx.Replace(str1, replStr) ' 作替換。
End
MsgBox(ReplaceTest("fox", "cat"))
' 將 'fox' 替換為 'cat'。
;另外,Replace 方法在模式中替換 subexpressions 。 下面對以前示例中函數的調用,替換了原字符串中的所有字對:
MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1")) ' Swap pairs of words.
◎ Test方法
Test方法對指定的字符串執行一個正則表達式搜索,并返回一個 Boolean 值指示是否找到匹配的模式。
語法
object.Test(string)
語法部分描述
object 必需的。總是一個 RegExp 對象的名稱。
string 必需的。要執行正則表達式搜索的文本字符串。
說明
正則表達式搜索的實際模式是通過RegExp對象的Pattern屬性來設置的。RegExp.Global屬性對Test方法沒有影響。
如果找到了匹配的模式,Test方法返回True;否則返回False。
Test 方法的用法:
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
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
00000
[ASP]RegExp對象提供簡單的正則表達式支持功能使用說明
2019-10-13 12:53asp教程網 ASP教程
[ASP]RegExp對象提供簡單的正則表達式支持功能使用說明
延伸 · 閱讀
- 2022-03-10Python全棧之正則表達式
- 2022-03-06CentOS中的正則表達式
- 2022-03-06詳解Android過濾emoji表情正則表達式
- 2022-03-05linux系統用戶管理與grep正則表達式示例教程
- 2022-03-03C++ 正則表達式的應用詳解
- 2022-03-03C# 中使用正則表達式匹配字符的含義
精彩推薦
- ASP教程
asp Access數據備份,還原,壓縮類代碼
asp Access數據備份,還原,壓縮類實現代碼,大家可以參考下。...
- ASP教程
asp 標記字符串中指定字符變色不區分大小寫
今天遇到這種問題,單純的使用replace函數不行,他會改變原有的字符串的大小寫,在網上找到相關的代碼,自己備份下...
- ASP教程
ASP常用函數:getpy()
ASP常用函數:getpy()...
- ASP教程
asp之基于adodb.stream的文件操作類
asp之基于adodb.stream的文件操作類...
- ASP教程
asp+javascript實現404頁的處理轉換
asp+javascript實現404頁的處理轉換...
- ASP教程
JScript中遍歷Request表單參數集合的方法
這篇文章主要介紹了JScript中遍歷Request表單參數集合的方法,本文以遍歷Request.QueryString集合為例給出了實現代碼,需要的朋友可以參考下...
- ASP教程
ASP.NET 數據源
數據源 一個 data sourse 控件與數據綁定的控件相互作用,并隱藏了復雜的數據的聯編過程。這些是提供數據給 data bound 控件的工具,并且支持如插入,刪除...
- ASP教程
asp 采集實戰代碼
最近實在是太流行采集了,本人是不喜歡采集的,但對采集的原理我卻很有興趣進行研究,拿到了網上采集常用函數,對其進行了一番研究,并實戰,結果...