5.建立正則表達式
構造正則表達式的方法和創建數學表達式的方法一樣。也就是用多種元字符與操作符將小的表達式結合在一起來創建更大
的表達式。
可以通過在一對分隔符之間放入表達式模式的各種組件來構造一個正則表達式。對 Visual Basic Scripting Edition 而
言,分隔符為一對正斜槓 (/) 字符。例如:
/exPRession/
對 VBScript 而言,則采用一對引號 ("") 來確定正則表達式的邊界。例如:
"expression"
在上面所示的兩個示例中,正則表達式模式 (expression) 均存儲在RegExp 對象的Pattern 屬性中。
<<------------------------------------------------------>>
6.優先權順序
在構造正則表達式之後,就可以象數學表達式一樣來求值,也就是說,可以從左至右並按照一個優先權順序來求值。
下表從最高優先級到最低優先級列出各種正則表達式操作符的優先權順序:
操作符 描述
\ 轉義符
(), (?:), (?=), [] 圓括號和方括號
*, +, ?, {n}, {n,}, {n,m} 限定符
^, $, \anymetacharacter 位置和順序
| “或”操作
<<---------------------------------------------------------->>
7.普通字符
普通字符由所有那些未顯式指定為元字符的打印和非打印字符組成。這包括所有的大寫和小寫字母字符,所有數字,所有
標點符號以及一些符號。
最簡單的正則表達式是一個單獨的普通字符,可以匹配所搜索字符串中的該字符本身。例如,單字符模式 'A' 可以匹配所
搜索字符串中任何位置出現的字母 'A'。這裡有一些單字符正則表達式模式的示例:
/a/
/7/
/M/
等價的 VBScript 單字符正則表達式為:
"a"
"7"
"M"
可以將多個單字符組合在一起得到一個較大的表達式。例如,下面的 Visual Basic Scripting Edition 正則表達式不是
別的,就是通過組合單字符表達式 'a'、'7'以及 'M' 所創建出來的一個表達式。
/a7M/
等價的 VBScript 表達式為:
"a7M"
請注意這裡沒有連接操作符。所需要做的就是將一個字符放在了另一個字符後面。
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
8.特殊字符
有不少元字符在試圖對其進行匹配時需要進行特殊的處理。要匹配這些特殊字符,必須首先將這些字符轉義,也就是在前
面使用一個反斜槓 (\)。下表給出了這些特殊字符及其含義:
特殊字符 說明
$ 匹配輸入字符串的結尾位置。如果設置了 RegExp 對象的 Multiline
屬性,則 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,請使用 \$。
( ) 標記一個子表達式的開始和結束位置。子表達式可以獲取供以後使用。
要匹配這些字符,請使用 \( 和 \)。
* 匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*。
+ 匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+。
. 匹配除換行符 \n之外的任何單字符。要匹配 .,請使用 \。
標記一個中括號表達式的開始。要匹配 [,請使用 \[。
? 匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ?
字符,請使用 \?。
\ 將下一個字符標記為或特殊字符、或原義字符、或後向引用、或八進制
轉義符。例如, 'n' 匹配字符 'n'。'\n' 匹配換行符。序列 '\\' 匹
配 "\",而 '\(' 則匹配 "("。
^ 匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示
不接受該字符集合。要匹配 ^ 字符本身,請使用 \^。
{ 標記限定符表達式的開始。要匹配 {,請使用 \{。
| 指明兩項之間的一個選擇。要匹配 |,請使用 \|。