正規表示式 語法

2022-04-01 15:11:07 字數 2636 閱讀 4752

正規表示式(regular expression)——描述一種字串匹配模式,可以用來檢測乙個字串是否包含特定的子串、用其他字串將其代替、提取出某個符合要求的子串。

正規表示式   由普通字元 和  元字元  組成。

普通字元:

普通字元包括沒有顯示指定為元字元的所有可列印或不可列印字元。其包括:大小字母、數字、標點符號和一些其他符號。

非列印字元:

特殊字元:
許多元字元要求在試圖匹配它們時特別對待。若要匹配這些特殊字元,必須首先使字元"轉義",即,將反斜槓字元 (\) 放在它們前面。下表列出了正規表示式中的特殊字元:

限定符:
限定符用來指定正規表示式的乙個給定元件必須要出現多少次才能滿足匹配。*+

定位符
定位符用來描述字串或單詞的邊界。定位符能夠將正規表示式固定到行首或行尾。正規表示式出現在乙個單詞內、在乙個單詞的開頭或者乙個單詞的結尾。

^和$分別指字串的開始與結束,

\b描述單詞的前或後邊界,

\b表示非單詞邊界。

選擇
用圓括號將所有選擇項括起來,相鄰的選擇項之間用|分隔。但用圓括號會有乙個***,是相關的匹配會被快取,此時可用?:放在第乙個選項前來消除這種***。

其中?:是非捕獲元之一,還有兩個非捕獲元是?=和?!,這兩個還有更多的含義,前者為正向預查,在任何開始匹配圓括號內的正規表示式模式的位置來匹配搜尋字串,後者為負向預查,在任何開始不匹配該正規表示式模式的位置來匹配搜尋字串。

反向引用
對乙個正規表示式模式或部分模式兩邊新增圓括號將導致相關匹配儲存到乙個臨時緩衝區中,所捕獲的每個子匹配都按照在正規表示式模式中從左到右出現的順序儲存。緩衝區編號從 1 開始,最多可儲存 99 個捕獲的子表示式。每個緩衝區都可以使用 '\n' 訪問,其中 n 為乙個標識特定緩衝區的一位或兩位十進位制數。

可以使用非捕獲元字元 '?:'、'?=' 或 '?!' 來重寫捕獲,忽略對相關匹配的儲存。

應用示例:

上面這段**的執行結果為顯示乙個alert,文字值為true。

*、+和?限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的後面加上乙個?就可以實現非貪婪或最小匹配。顯示結果:true

var exp=/\bchapter/;改為var exp=/\bchapter/;將返回false

is is the cost of of gasoline going up up?
上面的句子很顯然有多個重複的單詞。如果能設計一種方法定位該句子,而不必查詢每個單詞的重複出現,那該有多好。下面的正規表示式使用單個子表示式來實現這一點:

/\b([a-z]+) \1\b/gi
捕獲的表示式,正如 [a-z]+ 指定的,包括乙個或多個字母。正規表示式的第二部分是對以前捕獲的子匹配項的引用,即,單詞的第二個匹配項正好由括號表示式匹配。\1 指定第乙個子匹配項。字邊界元字元確保只檢測整個單詞。否則,諸如"is issued"或"this is"之類的片語將不能正確地被此表示式識別。

正規表示式後面的全域性標記 (g) 指示,將該表示式應用到輸入字串中能夠查詢到的盡可能多的匹配。表示式的結尾處的不區分大小寫(i) 標記指定不區分大小寫。多行標記指定換行符的兩邊可能出現潛在的匹配。

下面的正規表示式提供該功能:

/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
第乙個括號子表示式捕獲 web 位址的協議部分。該子表示式匹配在冒號和兩個正斜槓前面的任何單詞。

第二個括號子表示式捕獲位址的域位址部分。子表示式匹配 / 或 : 之外的乙個或多個字元。

第三個括號子表示式捕獲埠號(如果指定了的話)。該子表示式匹配冒號後面的零個或多個數字。只能重複一次該子表示式。

最後,第四個括號子表示式捕獲 web 位址指定的路徑和/或頁資訊。該子表示式能匹配不包括 # 或空格字元的任何字串行。

將正規表示式應用到上面的 uri,各子匹配項包含下面的內容:

第乙個括號子表示式包含"http"

第二個括號子表示式包含"www.w3cschool.cc"

第三個括號子表示式包含":80"

第四個括號子表示式包含"/html/html-tutorial.html"

資料來自:

正規表示式語法

jscript 8.0 正規表示式語法 正規表示式是一種文字模式,包括普通字元 例如,a 到 z 之間的字母 和特殊字元 稱為 元字元 模式描述在搜尋文字時要匹配的乙個或多個字串。表示式 匹配 s 匹配空行。d d 驗證由兩位數字 乙個連字元再加 5 位數字組成的 id 號。s s 匹配 html ...

正規表示式語法

下面是正規表示式的一些示例 表示式 匹配 s 匹配空行。例如,abc 匹配 plain 中的 a 向字符集。匹配未包含的任何字元。例如,abc 匹配 plain 中的 p cx 匹配由 x 指示的控制字元。正規表示式是一種文字模式,包括普通字元 例如,a 到 z 之間的字母 和特殊字元 稱為 元字元...

正規表示式語法

正規表示式是一種文字模式,包括普通字元 例如,a 到 z 之間的字母 和特殊字元 稱為 元字元 模式描述在搜尋文字時要匹配的乙個或多個字串。正規表示式示例 表示式 匹配 s 匹配空行。d d 驗證由兩位數字 乙個連字元再加 5 位數字組成的 id 號。s s s s s s 1 s 匹配 html ...