麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > VBScript > 正文

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

2019-10-26 17:55:10
字體:
來源:轉載
供稿:網友

選擇與編組

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

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

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

可以使用圓括號來限制選擇的范圍,也就是說明確該選擇只適用于這兩個單詞 'Chapter' 和 'Section'。不過,圓括號同樣也是難處理的,因為它們也用來創建子表達式,有些內容將在后面關于子表達式的部分介紹。通過采用上面所示的正則表達式并在適當位置添加圓括號,就可以使該正則表達式既可以匹配 '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}$"

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

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

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

/^(?:Chapter|Section) [1-9][0-9]{0,1}$/            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲免费视频一区 | 一级片久久免费 | 正在播放91精 | 伦一区二区三区中文字幕v亚洲 | 久久久成人免费视频 | fc2国产成人免费视频 | 精品二区在线观看 | 国产九色91| 在线无码 | 27xxoo无遮挡动态视频 | 七首小情歌泰剧在线播放 | 国产片91 | 黄色网址在线播放 | 看免费毛片 | 国产精品免费久久久久久 | 欧美大屁股精品毛片视频 | 亚洲精久| 国产亚洲精品视频中文字幕 | 亚洲午夜影院在线观看 | 一区二区三区黄色 | 91成人免费看片 | 国产精品久久久不卡 | 在线成人av观看 | 成人免费视频 | aaaaa国产欧美一区二区 | 日本一区二区三区视频在线 | 成人小视频免费在线观看 | 欧美高清在线精品一区二区不卡 | 久久国产秒 | 性盈盈盈影院 | 日本黄色免费播放 | 久久逼网 | 久久精品视频首页 | 国产91久久精品一区二区 | 鲁丝一区二区二区四区 | 91精品国| 免费在线观看国产精品 | 天天看成人免费毛片视频 | 欧美a级在线免费观看 | 国产99视频精品免视看9 | 成人做爰s片免费看网站 |