正則表達式是一個精巧的利器,經常用來在字符串中查找和替換,JavaScript語言參照Perl,也提供了正則表達式相關模塊,開發(fā)當中非常實用,在一些類庫或是框架中,比如jQuery,就存在大量的正則表達式,所以說學好正則表達式,是提高開發(fā)技能的一項基本要求。那么今天博主就來詳細總結一下正則表達式的相關知識,希望不熟悉的同學們,也能夠掌握正則表達式的原理及應用。
在JS中,創(chuàng)建正則表達式有兩種方式,一種是字面量方式,一種是構造器方式,如下所示:
var regex = /\w+/; // 或者 var regex = new RegExp('\\w+');
大家也許注意到,使用字面量要比構造器簡潔得多,\w表示一個word,匹配單個字母、數(shù)字或下劃線,而使用RegExp構造器時,我們的正則變?yōu)榱?\\w",這是因為要在字符串中表示一個反斜杠\,我們需要對其轉義,也就是在前面再加一個轉義字符\。相信大家都知道,要在字面量正則中表達一個匹配反斜杠\的正則,只需寫成\\這樣,但在字符串中表達這個正則,則是"\\\\"這個樣子的,這是因為字符串中前兩個表示一個反斜杠\,后兩個也表示一個反斜杠\,最終在正則層面,結果還是\\。
對于上面兩種創(chuàng)建形式,都可以加上一些后綴修飾符,這些修飾符可以單個使用,也可以組合起來使用:
/\w+/g; // global search /\w+/i; // ignore case /\w+/m; // multi-line /\w+/u; // unic