| . | | 代表任意字元 |
| * | .* | 符合任意字且 0 ~ 無限的數量 |
| \ | . | 因為 . 代表任意字元,但希望第一個字是 . 就需要用 \ 來跳脫字元,沒有寫 \ 就會代表任意字元開頭都符合 |
| [^] | [^a]bc | 代表不符合括弧內的開頭都是,例如這個範例符合任一字元開頭除了 a 以及 bc 的字元 |
| [ ] | [abc] | 放在 [ ] 裡面的只要有符合都是,此範例只要有 a、b、c 都符合 |
| [0-9] | 代表搜尋 0~9 的數字 |
| [a-z] | 代表搜尋小寫 a~z 的字 |
| [A-Z] | 代表搜尋大寫 A~Z 的字 |
| [0-9a-zA-Z] | |
| \d | | d 代表 digit 表示一個數字,如果字串為 "25",就會抓到 2 |
| \D | | 不是數字,與上行反義 |
| \w | | w 代表 word 表示一個字(等同於 [A-Za-z0-9_] |
| \W | | 不是 [A-Za-z0-9_] 任一 |
| ^ | | 代表字串開頭 |
| $ | | 代表字串結尾 |
| {n} | {8} | 代表重複幾次 n 為次數 |
| {8,} | 代表重複 8 次以上 |
| {8, 10} | 8~10 個都可以 |
| i | /xyz/i | 猜測代表 ignore test,忽視大小寫 |
| g | /王.名/g | g 代表 global 會配對到多個字串都抓取出來 |
| + | \d+ | 代表一個以上,此範例代表一個以上的數字都符合,或者是 aa+ 代表兩個 a 以上都符合 |
| () | (\w+ (\d+)) | capturing groups,把符合這模式的都抓取出來,並記憶起來,如果有兩個內容,像是 () () 就可以在 replace 用 $1 和 $2 去取到。範例代表會有兩個 group,例如輸入 JUN 1987,第一個 group 是 JUN 1987 第二個 group 是 1987 |
| \s | | 可以配對到任何空白、tab 或換行 |
| \S | | 剔除空白、tab 或換行 |
| ? | | 匹配 0~1 次與 {0, 1} 一樣 |
| | | /green|red/ | 或,此範例會匹配 green 或 red 的字串 |
| \x21-\x7e | | i.e. all printable, non-whitespace ASCII characters including punctuation, upper and lower case letters and numbers |
| $ | test$ | 最後一個字要比對到 |
| ?: | (\d+)(?:x)(\d+) | (non-capturing group) 排除群組,如果是 1280x720 代表會排除 x 然後組出兩個組為 1280 和 720(其實可以直接寫成 (\d+)x(\d+) ) |
| ?<name> | ?<firstName> | 替比對到的字串名1 |
| \b | \bJava\b | 當作邊界,例如 \bJava\b 就只會找到 Java 的值而不會找到 JavaScript |