日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VBScript: 正则表达式(RegExp对象)

發布時間:2023/12/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VBScript: 正则表达式(RegExp对象) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RegExp對象是VBScript中用于提供簡單地正則表達式支持的對象。VBScript中所有和正則表達式有關的屬性和方法都有這個對象有關聯。

一、RegExp對象的屬性和方法(三個屬性,三個方法)

屬性:

1. Global屬性: True or False, 指明模式是匹配整個字符串中所有與之相符的地方還是只匹配第一次出現的地方。默認值是False(表示只匹配第一次出現的地方)。

2. IgnoreCase屬性: True or False, 指明模式匹配是否大小寫敏感。默認是False(表示搜索為大小寫敏感)。

3. Pattern屬性:設置或返回用于搜索的正則表達式。

方法:

1. Execute方法:將正則表達式應用到字符串上并返回Matches集合。

2. Replace方法:替換在正則表達式搜索中找到的文本。

3. Test方法:對字符串執行正則表達式搜索,并返回一個布爾值說明匹配是否成功(True:匹配成功, False:匹配不成功)。

二、VBScript中的正則表達式字符

字符描述
\表示下一個字符是特殊字符或文字常量
^匹配輸入的開頭
$匹配輸入的結尾
*匹配前一個字符零次或多次
+匹配前一個字符一次或多次
?匹配前一個字符零次或一次
.匹配除換行符以外的任何單個字符
(pattern)

匹配并記住這個模式。可以用[0]…[n]從結果的matches集合中獲取匹配到的字符串。要匹配括號本身,在前面加上斜杠-用"\("或"\)"

(?:pattern)匹配但不捕獲模式,也就是不會存儲匹配結果供以后使用。這可以用于使用"or"字符(|)合并模式的不同部分。例如,"anomal(?:y|ies)"比"anomaly|anomalies"要劃算得多
(?=pattern)當所要搜索的字符串匹配了模式的開頭部分時就接著匹配這一部分。非捕獲匹配,也就是說不會保存匹配結果供以后使用。例如,"Windows (?=95|98|NT|2000|XP|Vista)"能匹配"Windows Vista"中的Windows而不能匹配"Windows 3.1"中的Windows
(?!pattern)與上一個相反,這會匹配模式中沒有出現的內容。非捕獲匹配。例如,"Windows (?!95|98|NT|2000|XP|Vista)"能匹配"Windows 3.1"中的Windows而不能匹配"Windows Vista"中的Windows
x|y匹配x或y
{n}準確地匹配n次(n必須是一個非負整數)
{n,}至少匹配n次(n必須是一個非負整數-注意結尾的逗號)
{n,m}至少匹配n次,最多匹配m次(m和n必須都是非負整數)
[xyz]匹配其中包括的任一個字符(xyz表示一個字符集)
[^xyz]匹配其中不包括的字符(^xyz表示一個字符集的補集)
[a-z]匹配指定范圍內的字符(a-z表示字符的范圍)
[^m-z]匹配指定范圍以外的字符(^m-z表示指定范圍的補集)
\b匹配一個單詞邊界,這個位置在單詞和空格之間
\B匹配一個非單詞邊界
\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是正整數。返回匹配結果的引用
\n匹配n,其中n是八進制轉義符。八進制轉義符的長度應為1、2或3
\uxxxx匹配UNICODE形式的ASCII字符
\xn匹配n,其中n是十六進制轉義符。十六進制轉義符必須是兩位長度
\\匹配\

三、實例

1、驗證電話號碼輸入:

Dim re, s, objMatch, colMatches Set re = New RegExp re.Pattern = "\([0-9]{3}\)[0-9]{4}-[0-9]{4}" re.Global = True re.IgnoreCase = True s = InputBox("Enter your phone number in the following Format (XXX)XXXX-XXXX:") If re.Test(s) Then MsgBox "Thank you!" Else MsgBox "Sorry but that number is not in a valid format." End If

2、分解URI:將URI分解成協議(如ftp、http等)、域名地址、頁面和路徑四個部分。

Dim re, s Set re = New RegExp re.Pattern = "(\w+):\/\/([^/:]+)(:\d*)?([^#]*)" re.Global = True re.IgnoreCase = True s = "http://www.wrox.com:80/misc-pages/support.shtml" MsgBox re.Replace(s, "$1") MsgBox re.Replace(s, "$2") MsgBox re.Replace(s, "$3") MsgBox re.Replace(s, "$4")

3. 檢查HTML元素: "<(.*)>.*<\/\1>"

4. 匹配空白: "^[\t]*$"

5. 匹配HTML注釋標簽: "^.*<!--.*—>.*$"

將上述匹配模式稍作修改,匹配HTML注釋標簽并清除HTML注釋:

Dim re, s Set re = New RegExp re.Pattern = "(^.*)(<!--.*-->)(.*$)" re.Global = True s= "<title>A Title</title><!-- a title tag -->" If re.Test(s) Then MsgBox "HTML comment tags found." Else MsgBox "No HTML comment tags found." End If MsgBox re.Replace(s,"$1" & "$3")

?

參考資料:《VBScript程序員參考手冊》

轉載于:https://www.cnblogs.com/ITGirlXiaoXiao/p/3173651.html

總結

以上是生活随笔為你收集整理的VBScript: 正则表达式(RegExp对象)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。