正則表達式是文字處理的利器,PHP 採用 PCRE(Perl Compatible Regular Expressions)庫。本文系統整理基礎語法與常用元字符。
/pattern/。/pattern/i(不分大小寫)。| 元字符 | 說明 |
|---|---|
+ | 前導字元出現 1 次或多次(等同 {1,}) |
* | 前導字元出現 0 次或多次(等同 {0,}) |
? | 前導字元出現 0 次或 1 次(等同 {0,1}) |
{n} | 確切出現 n 次 |
{n,} | 至少出現 n 次 |
{n,m} | 出現 n 到 m 次 |
範例:/jim{2,6}/ 可匹配 jimmy、jimmmmmy。
| 符號 | 匹配對象 |
|---|---|
\s | 空白字元(空格、Tab、換行) |
\S | 非空白字元 |
\d | 數字 0-9 |
\w | 字母、數字、底線 |
\W | 非單字字元 |
. | 除換行外任意字元 |
| 符號 | 含義 |
|---|---|
^ | 字串開頭(多行模式下匹配行首) |
$ | 字串結尾(多行模式下匹配行尾) |
\b | 單字邊界 |
\B | 非單字邊界 |
[A-Z]:大寫字母[a-z]:小寫字母[0-9]:數字([a-z][A-Z][0-9])+:群組重複PHP 使用 PCRE(Perl Compatible Regular Expressions),與 Perl、JavaScript、.NET 核心語法一致,差異僅在修飾符與部分進階特性。學習 PCRE 即可通用於 PHP 開發。
不用死記。先大略瀏覽語法,實際用到時再查手冊。正則能做的,字串函數通常也能處理,優先考慮可讀性。