婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > VBS教程:正則表達式簡介 -選擇與編組

VBS教程:正則表達式簡介 -選擇與編組

熱門標簽:蘇丹地圖標注app 菏澤電銷外呼系統(tǒng)軟件 貴陽電話外呼系統(tǒng)廠家 京東辦理400電話查詢 為什么申請400電話 地圖標注店鋪的收費 外呼系統(tǒng)解決電銷問題 南陽高頻外呼系統(tǒng)怎么安裝 高德百度地圖標注推廣

選擇與編組

選擇允許使用 '|' 字符來在兩個或多個候選項中進行選擇。通過擴展章節(jié)標題的正則表達式,可以將其擴充為不僅僅適用于章節(jié)標題的表達式。不過,這可沒有想象的那么直接。在使用選擇時,將匹配'|' 字符每邊最可能的表達式。你可能認為下面的 Visual Basic Scripting Edition 和 VBScript 表達式將匹配位于一行的開始和結(jié)束位置且后跟一個或兩個數(shù)字的 'Chapter' 或 'Section':

/^Chapter|Section [1-9][0-9]{0,1}$/"^Chapter|Section [1-9][0-9]{0,1}$"

不幸的是,真正的情況是上面所示的正則表達式要么匹配位于一行開始處的單詞 'Chapter',要么匹配一行結(jié)束處的后跟任何數(shù)字的 'Section'。如果輸入字符串為 'Chapter 22',上面的表達式將只匹配單詞 'Chapter'。如果輸入字符串為 'Section 22',則該表達式將匹配 'Section 22'。但這種結(jié)果不是我們此處的目的,因此必須有一種辦法來使正則表達式對于所要做的更易于響應(yīng),而且確實也有這種方法。

可以使用圓括號來限制選擇的范圍,也就是說明確該選擇只適用于這兩個單詞 'Chapter' 和 'Section'。不過,圓括號同樣也是難處理的,因為它們也用來創(chuàng)建子表達式,有些內(nèi)容將在后面關(guān)于子表達式的部分介紹。通過采用上面所示的正則表達式并在適當(dāng)位置添加圓括號,就可以使該正則表達式既可以匹配 'Chapter 1',也可以匹配 'Section 3'。

下面的正則表達式使用圓括號將 'Chapter' 和 'Section' 組成一組,所以該表達式才能正確工作。對 Visual Basic Scripting Edition 為:

/^(Chapter|Section) [1-9][0-9]{0,1}$/

對 VBScript 為:

"^(Chapter|Section) [1-9][0-9]{0,1}$"

這些表達式工作正確,只是產(chǎn)生了一個有趣的副產(chǎn)品。在 'Chapter|Section' 兩邊放置圓括號建立了適當(dāng)?shù)木幗M,但也導(dǎo)致兩個待匹配單詞之一都被捕獲供今后使用。由于在上面所示的表達式中只有一組圓括號,因此只能有一個捕獲的 submatch??梢允褂?VBScript 的Submatches 集合或者Visual Basic Scripting Edition 中RegExp 對象的 $1-$9 屬性來引用這個子匹配。

有時捕獲一個子匹配是所希望的,有時則是不希望的。在說明所示的示例中,真正想做的就是使用圓括號對單詞 'Chapter' 或 'Section' 之間的選擇編組。并不希望在后面再引用該匹配。實際上,除非真的是需要捕獲子匹配,否則請不要使用。由于不需要花時間和內(nèi)存來存儲那些子匹配,這種正則表達式的效率將更高。

可以在正則表達式模式圓括號內(nèi)部的前面使用 '?:'來防止存儲該匹配供今后使用。對上面所示正則表達式的下述修改提供了免除子匹配存儲的相同功能。對 Visual Basic Scripting Edition:

/^(?:Chapter|Section) [1-9][0-9]{0,1}$/

對 VBScript:

"^(?:Chapter|Section) [1-9][0-9]{0,1}$"

除了 '?:' 元字符,還有兩個非捕獲元字符用于稱之為預(yù)查的匹配。一個為正向預(yù)查,用 ?= 表示, 在任何開始匹配圓括號內(nèi)的正則表達式模式的位置來匹配搜索字符串。一個為負向預(yù)查,用 '?!' 表示,在任何開始不匹配該正則表達式模式的位置來匹配搜索字符串。

例如,假定有一個包含引用有 Windows 3.1、Windows 95、Windows 98 以及 Windows NT 的文檔。進一步假設(shè)需要更新該文檔,方法是查找所有對 Windows 95、Windows 98 以及 Windows NT 的引用,并將這些引用更改為 Windows 2000??梢允褂孟旅娴?Visual Basic Scripting Edition 正則表達式,這是一個正向預(yù)查,來匹配 Windows 95、Windows 98 以及 Windows NT:

/Windows(?=95 |98 |NT )/

在 VBScript 要進行同樣的匹配可以使用下述表達式:

"Windows(?=95 |98 |NT )"

找到一個匹配后,緊接匹配到的文字(而不包括預(yù)查中使用的字符)就開始對下一次匹配的搜索。例如,如果上面所示的表達式匹配到 'Windows 98',則將從 'Windows' 而不是 '98' 之后繼續(xù)查找。

標簽:通遼 海北 韶關(guān) 昌都 阿里 資陽 咸寧 滄州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《VBS教程:正則表達式簡介 -選擇與編組》,本文關(guān)鍵詞  VBS,教程,正則,表達式,簡介,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《VBS教程:正則表達式簡介 -選擇與編組》相關(guān)的同類信息!
  • 本頁收集關(guān)于VBS教程:正則表達式簡介 -選擇與編組的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 彭泽县| 金塔县| 时尚| 平顺县| 兴城市| 珠海市| 韩城市| 新疆| 泗洪县| 寿宁县| 凤冈县| 班玛县| 沅陵县| 金昌市| 桦南县| 宁蒗| 濮阳县| 随州市| 宜城市| 景泰县| 商城县| 博客| 兴业县| 宁陕县| 大丰市| 盐池县| 三河市| 平潭县| 沅陵县| 禹城市| 大田县| 广宗县| 铁岭市| 尼勒克县| 鄯善县| 闸北区| 玛纳斯县| 达拉特旗| 古丈县| 方城县| 温宿县|