Regular expression 是在程式中經常使用到的表示式,特別是作 pattern search 的時候。但是不同的語言有不同的支援程度,以下介紹一些基本的使用方式:
| 字元 | 功能 |
| . | 符合除了 “換行” (\r\n) 之外的所有字元 |
| [abc] | 符合在 [ ] 中所有的字元 |
| [^abc] | 除了在 [ ] 中的所有字元外,其他全部都符合 |
| [n-q] | 符合在 [ ] 中範圍的字元,Ex: [a-z],意即符合 a, b, c… z 的字元 |
| \d | 符合所有的數字 (digits) |
| \D | 符合所有 “非數字” |
| \n | 符合換行字元 |
| \s | 符合所有的 white space (包含空白, Tab, \r, \n) |
| \S | 符合所有 非 white space 字元 |
| \t | 符合 Tab 字元 |
| \w | 符合所有文數字 (文字+數字, 不包含符號) |
| \W | 符合所有 非文數字 |
| \b | 符合文數字的邊界 |
| \B | 符合非文數字的邊界 |
| \ | 符合特殊字元 (ex: \n 表示換行) |
| + | 比對重複多次的字元 (ex: a+ 表示 a 必須出現一次以上) |
| * | 比對沒有出現或重複多次的字元 (ex: a* 表示 a 沒有出現或出現一次以上) |
| ? | 比對沒有出現或只出現一次的字元 (ex: a? 表示 a 沒有出現或只出現一次) |
| {n} | 比對出現 n 次字元 (ex: a{3} 表示 a 一定要出現三次) |
| {n,} | 比對出現至少 n 次的字元, (ex: a{3,} 表示 a 可以至少要出現三次) |
| {n,m} | 比對出現 n ~ m 次的字元, (ex: a{3,6} 表示 a 可以至少出現三次, 最多出現 6 次) |
| () | 比對字串並將其存入變數, (ex: (a*) 則比對連續重複 a 的字串, 並存入 $1 的變數中 |
寫 Regular expression 需要大量的測試,尤其是在複雜的判斷的時候。
以下提供一個測試網站,這樣就可以測試看看你所寫的 Regular expression 是否正常了!



