正則表示式規則和舉例
正則物件: 可以用在大多數高階語言中。
作用:
1) 用於字串的查詢(找檔名,在檔案內部找內容)
2) 判斷字串與正則表示式是否匹配,用於表單驗證。
以下是個人在工作和學習中總結的一些規則,供用的時候查詢.
正則表示式規則:
符號 | 作用 |
[a-z] |
中括號表示一個字元,- 表示範圍。a到z之間的一個字元 |
[xyz] |
是x或y或z 之間的一個字元 |
[^xyz] |
如果^符號出現在[]內部,表示取反。除了xyz之外的任何一個字元 |
\d |
表示數字,\D表示非數字 |
\w |
表示單詞,包括[a-zA-Z0-9_] \W 表示非單詞 |
. |
萬用字元 表示匹配任意的一個字元。如果要使用點號,需要轉義\. |
() |
代表分組 |
{n} |
限制它前面的字元出現n次,如:\d{3} 表示出現3個數字 |
{n,} |
限制它前面的字元大於等於n次 |
{n,m} |
限制它前面的字元大於等於n次,小於等於m次,包頭又包尾 |
+ |
限制它前面的字元出現1~n次 |
* |
限制它前面的字元出現0~n次 |
? |
限制它前面的字元出現0~1次 |
| |
或者,幾個字串出現其中的一個 |
^ |
如果出現在正則表示式的開頭,表示匹配開頭 |
$ |
表示匹配結尾,^和$如果兩個同時,表示精確匹配。 JS中預設是模糊匹配 |
正則表示式舉例:
正則表示式 |
匹配字串 |
\d{3} |
包含3個數字即可:a123b |
^\d{3} |
以3個數字開頭:123b |
\d{3}$ |
以3個數字結尾:a123 |
^\d{3}$ |
必須是3個數字:123 |
[a-d] |
小寫的a到d中的一個字元,中括號表示匹配1個字元 |
[xyz] |
x或y或z |
ab{2} |
a後面出現2次b:abb |
ab{2,} |
a後面出現2次及以上的b:abb或abbb或abbbb |
ab{3,5} |
a後面出現3~5次b:abbb或abbbb或abbbbb |
ab+ |
a後面出現1~n次b:ab或abb或abbb |
ab* |
a後面出現0~n次b:a或ab或 abbb |
ab? |
a後面出現0~1次b:a或ab |
hi|hello |
字串裡有hi或者hello |
(b|cd)ef |
表示bef或cdef |
^.{3}$ |
表示有任意三個字元的字串 |
[^a-zA-Z] |
中括號內部的^,表示不出現,即不出現:大小寫字母 |