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