1. 程式人生 > >JS中正則表示式的基礎知識點元字元

JS中正則表示式的基礎知識點元字元

正則表示式:又稱為:規則表示式 英語;Regluar Expression 簡寫:regex,regexp或者RE

正則表示式:不是字串,是字串的匹配模式(規則)

需要用反斜槓進行轉移

正則表示式的建立:

1.字面量建立:由兩個斜槓/包裹

var reg = /a/; 匹配指定字串中的"a"字元

2.通過建構函式RegExp建立正則物件

引數有二:1.正則表示式的內容,需要一個字串,2.正則匹配規則的修飾符,需要一個字串

var reg = new RegExp("a");

通過兩種方法建立的正則是一樣的,方法2可以拼接變數,方法一不行

i:正則匹配忽略大小寫

g:正則全域性匹配

m:正則進行多行搜尋匹配,會影響^$的結果

常用方法:

1.正則物件的方法:test(),用於校驗指定字串是否符合正則規定的匹配規則,如果符合返回true,如果不符合false

當正則為全域性匹配時,那麼Test()就會存在匹配的錨點

正則.test(指定字串);

2.match();用於匹配字串中符合匹配規則的字元或字串,如果有,返回符合規則字串的陣列,如果沒有返回Null

指定字串.match(正則);

3.字串的方法:replace(),將指定的字元進行替換,此方法不會對原來的字串產生影響,會將替換後的結果返回

var reg = /l/g;

console.log(str.replace(reg,"a"));

4.字串的方法:split().可以填寫正則作為引數

元字元:在正則表示式中已經定義好作用和意義的特殊字元

如果要在正則中匹配元字元,需要使用\對元字元進行轉義, . ^ < > $ [ ] { }

正對於帶有\的元字元,如果需要匹配,正則需要轉義,匹配的字串中需要進行轉義

.;可以匹配除了\n以外的所有字元

\d:可以匹配數字

\D:匹配非數字

\w:匹配數字,字母,下劃線

\W:匹配非陣列,非字母,非下劃線

\s:匹配空格,tab鍵,\n,\f

\S匹配非空格,tab鍵,\n,\f

\u4e00-u9fa5匹配所有漢字

();表示組匹配,會將()包裹的字元作為一個整體進行匹配,並且預設情況下會將匹配的結果進行捕獲,暫存

於RegExp物件中

console.log(/h(e)(l)(l)/.test(str));//true

console.log(RegExp.$1); e

console.log(RegExp.$2); l

console.log(RegExp.$3); l

console.log(RegExp.$4); 輸出為空

[];表示匹配的區間,或者多個可選項:當在[]出現連續區間的字元時,可以將首尾字元通過"-"連字元表示一段連續區間

var reg = /[1234567890]/; == var reg =/[\d]/; == var reg = /[0-9]/;

在[]中出現^脫字元(只能出現在中括號的開頭),表示取非

{}通常從表示指定字元出現的次數

{11}表示必須連續出11次

{1,11}表示至少出現1次,至多出現11次

{1,}表示至少出現一次,可以連續出現無限次

量詞:表示指定字串出現的次數

+:至少出現一次

*:出現0次或者多次

?:出現0次或1次