1,正則表達式會去查找字符串中符合某個模式的部分,在 JAVAScript 中,正則表達式的創建方法是放在一對"/"之間,或者用 newRegExp(),隨后再調用 match,test 或者 replace 方法。
你可以事先定義正則表達式,也可以在調用方法時直接定義:

2,使用 match方法,一次匹配一個字符或者將多個字符放入方括號 []中以捕獲任何匹配的字符,使用連字號 -來捕獲特定范圍的字符:

3,在正則表達式末尾添加可選的修飾符來定義表達式的匹配方式,在 JS 中,我們的修飾符有:
- i:大小寫不敏感(case insensitive)
- m:多行匹配(multi line matching)
- g:全局匹配(global match)

4,在開始出插入符號 ^表示匹配位置在字符串開頭,在正則末尾插入符號 $表示匹配位置在字符串結尾,現在可以開始將多個匹配條件組合起來匹配更長的字符串:

5,使用通配符和特殊轉義字符來匹配較長的字符串。
.:除換行以外的任何字符
d:數字
D:非數字
s:空格
S:非空格
n:新行

6,僅匹配特定數量的字符,量詞縮寫:
?:相當于{0,1},表示有匹配的或者沒有匹配的;
+:相當于{1, },表示至少匹配一次;
{3}:表示剛好出現了3次;
{2,4}:表示出現了2-4次;
*:相當于{0,},也就是出現包括0在內的任意次。

7,使用圓括號 ()為字符串分組,match 方法會返回被匹配的字符串以及符合匹配條件的部分,除非在正則表達式中加入修飾符 g。在括號中使用 |符號來實現多選分支,|相當于“或”:

8,需要匹配特殊字符時,使用反斜杠 轉義。JS 正則表達式中的特殊字符是 ^$ .*+?()[]{}|,因此在需要匹配一個星號時,應該寫作 *而不是 *:

9,需要匹配排除某個字符以外的字符時,在方括號中使用 ^字符進行排除字符組, ^在這里相當于是求反,但記住在之前的第4點中,它還有“字符串開始”的意思,所以一定要正確書寫。

10,正則表達式可以被用于查找和匹配各種各樣的內容,包括 url 和文件名,然而如果你在嘗試將正則表達式用于更加復雜的內容,比如解析電子郵件(比你想象的更復雜)或者是解析 html(記住html并不是一門常規的語言,它并不能被正則表達式完全解析)時,請務必謹慎小心。
正則表達式的水遠比這篇文章深,比如我們并沒有講到貪婪匹配,惰性匹配,先行斷言(lookahead)和捕獲等內容,但上面所總結的內容是 web 開發者在日常工作中最常用的一些功能與寫法,想要看看一些復雜的正則表達式實例就請期待我們下一次的推送吧!