跳轉到內容

正則表示式/語法

來自Wikibooks,開放世界中的開放書籍

正則表示式有幾種變體。這些變體不僅在具體語法上有所不同,而且在功能上也有所不同。支援正則表示式的各個工具也各有其特點。

貪婪表示式

[編輯 | 編輯原始碼]

量詞(如 * 和 +)匹配儘可能多的字元:它們是貪婪的。對於某些用途,它們的貪婪性並不合適。例如,假設您想在以下文字中找到第一個用引號括起來的字串

這些詞包括“貓”、“墊”和“拍”。

模式 ".*" 匹配下面文字的斜體部分,即“貓”、“墊”和“拍”,而不是所需的“貓”

這些詞包括“貓”、“墊”和“拍”

為了解決這個問題,某些正則表示式風格提供了非貪婪運算子,如 *?、+?和 }?。在 PHP 中,在正則表示式的末尾新增“U”會使量詞變為非貪婪,例如 /".*"/U。在不支援這兩種選項的風格中,您可以指定要匹配的內容,例如 ("[^"]*") 來修復討論的示例。但是,在處理括號表示式時,(\[\[[^\]]*\]\]) 無法匹配A B C [[D E] F G]]

比較表

[編輯 | 編輯原始碼]

一個比較表或矩陣,顯示哪些正則表示式的特性或風格在哪個工具或程式語言中可用,可從 regular-expressions.info 獲取。

簡介 · 實現

簡介 · 正則表示式 · 實現
華夏公益教科書