這裡主要紀錄使用規則,後續補上使用說明。
正規表示式
正規表示法(英語:Regular Expression,常簡寫為regex、regexp或RE),又稱正規表達式、正規表示式、規則運算式、常規表示法,是電腦科學的一個概念。正規表示式使用單個字串來描述、符合一系列符合某個句法規則的字串。在很多文字編輯器裡,正則表達式通常被用來檢索、替換那些符合某個模式的文字。
正規表達式是被用來匹配字串中字元組合的模式。在 JavaScript 中,正規表達式也是物件,這些模式在 RegExp 的 exec (en-US) 和 test (en-US) 方法中,以及 String 的 match、replace、search (en-US)、split (en-US) 等方法中被運用。
中介字元(Metacharacters)
中介字元 | 說明 | 範例 | 說明 |
---|---|---|---|
[] | 字元的集合。 | [a-m] | a~m之間的小寫英文字 |
\ | 發出特殊序列的信號(也可以用於轉義特殊字符)。 | \d | 只要數字 |
. | 除了新行符號外的任意字元。 | he…o | he字串後接著兩個字元,然後接著是o |
^ | 字串以此為開頭。 | ^hello | 字串開頭為hello |
$ | 以此為結尾的字串。 | world$ | 字串結尾為world |
* | 字元或字串出現任意次數(包含0次)。 | aix* | ai、aix、aix和aixx或更多x都符合。 |
? | 字元或字串出現 0 或 1 次。 | aix? | 僅ai、aix符合。 |
+ | 字元或字串至少出現一次。 | aix+ | 僅aix符合。 |
{m,n} | 指定字元或字串出現的m~n之間的次數。 | al{2} al{3,6} | a後面連續2個l的字串 a後面連續3到6個l的字串 |
| | 單一字元或群組的或,例如 ‘a|b’ 為 ‘a’ 或 ‘b’ 。 | falls|stays | 字串包含falls或是stays |
() | 對小括弧內的字元形成群組。 |
特別序列(Special Sequences)
特別序列 | 說明 |
---|---|
\A | 字串的開頭字元。 |
\b | 單字的界線字元。 |
\B | 字元的界線字元。 |
\d | 數字,從 0 到 9 。 |
\D | 非數字。 |
\s | 各種空白符號,包含換行符號 \n 。 |
\S | 非空白符號。 |
\w | 任意文字字元,包括數字。 |
\W | 非文字字元,包括空白符號。 |
\Z | 字串的結尾字元。 |
集合
集合 | 說明 |
---|---|
[arn] | 回傳字串中含有a、r或n的小寫字元。 |
[a-n] | 回傳字串中含有a~n之間的任意小寫字元。 |
[^arn] | 回傳任意字元,除了,a、r和n。 |
[0123] | 回傳字串中含有0、1、2或3的數字。 |
[0-9] | 回傳字串中含有0~9之間的數字。 |
[0-5][0-9] | 回傳00~59之間的數字。 |
[a-zA-Z] | 回傳a~z之間的大寫和小寫字元。 |
[+] | 回傳字串中的+號(+, *, ., ` |
\W | 非文字字元,包括空白符號。 |
\Z | 字串的結尾字元。 |
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 John Conte!
評論
DisqusGitalk