js之正規表示式 1 筆記

2021-07-25 14:58:14 字數 3722 閱讀 8202

正規表示式

而js中的regexp類就是用來表達正規表示式。

用途:就是把能在前端幹的事盡量在前端解決掉,而不浪費伺服器的資源。

//對於正規表示式來說,無論採用哪一種那個申明方式,其返回的永遠是其對應的字面量表示法

//var box = new regexp('box','ig'); // 建構函式表示法 包含兩個引數,第二個引數是可選的 即模式修飾符 i忽略大小寫 g全域性匹配 m多行匹配

// alert(box);

// var box2=/box1/ig; //字面量正則

// alert(box2);

// 測試正規表示式

//test() 查詢字串,查詢成功則返回true,否則返回false exe() 返回乙個查詢字串的陣列,空則返回null

/* var pattern=/box/ig;

var str='box';

alert(pattern.test(str));

alert(/box/ig.test('box')); //一句話匹配

var pattern =/box/ig; // 對於正規表示式來說,用test(),exec()函式是來檢測str字串中是否包含pattern表示式

var str='this is a box';

alert(pattern.test(str));

var pattern =/box/

var str = 'this is a box';

alert(pattern.exec(str)); //返回搜尋到的字串的陣列

/* //字串的正規表示式方法

//match(pattren) 返回pattren中的子串 repalce(pattren ,repalcement); 用replacement來替換pattern

//search(pattern) 返回字串pattern中的起始位置 split(pattern); 返回字串按指定pattern拆分的陣列

/*var pattern =/box/g; //match(pattren) 返回包含pattern的陣列,注:g返回包含多個pattern的陣列

var str='this is a box? that is a box';

alert(str.match(pattern));

var pattern =/box/g; //replace(pattern,replacement); 用replacement來替換pattern,帶有返回值,返回替換後的字串

var str='this is a box? that is a box';

var a=str.replace(pattern,'exe');

alert(a);

var pattern =/box/g; //返回str中pattern的初始位置,查詢即返回,g對其無用,找不到返回-1

var str='this is a box? that is a box';

alert(str.search(pattern));

var pattern =/box/g; //split(pattern) 將pattern來劃分字串,將字串拆分為陣列

var str='this is a box? that is a box';

alert(str.split(' '));

*///正規表示式的靜態屬性和例項屬性(建立例項後才可以使用)

//靜態屬性

/*var pattern =/google/ig;

var str ='this is a google ?';

pattern.test(str); //必須要先執行依一下,靜態屬性才可以生效

alert(regexp.input); //所匹配的正規表示式

alert(regexp.leftcontext); //匹配正規表示式的左子串

alert(regexp.rightcontext); //匹配正規表示式的右子串

alert(regexp.lastmatch); //最後乙個匹配到的字串

alert(regexp.lastparen); //最後一對圓括號裡匹配到的字串

注:靜態屬性可以用短名來匹配

//例項屬性,用來檢查其某些屬性是否生效

var pattern=/box/ig;

alert(pattern.global) //判斷是否支援全域性

alert(pattern.ignorecase); //判斷是否支援忽略大小寫

alert(pattern.multiline); //判斷是否支援換行

alert(pattern.source); //匹配的原字串

var str='box box box box';

pattern.test(str);

pattern.lastindex=100;

*/ //獲取控制,元字元和元符號

var pattern=/bo../ig; // .可以表示除換行以外的其他字元

var str='this is a boox';

alert(pattern.test(str)); //true

var pattern=/bo*x/ig; // x*表示可以匹配0,1,或多個x

var str='this is a boox';

alert(pattern.test(str)); //true

var pattern=/bo+x/ig; // x+可以匹配至少乙個x

var str='this is a bx';

alert(pattern.test(str)); //false

var pattern=/bo?x/ig; // x?可以表示0個或1個

var str='this is a boox';

alert(pattern.test(str)); //false

var pattern=/box/ig; // x表示至少匹配m~n個x x表示只能m次 x表示大於m次 x表示要小於n次

var str='this is a boooox';

alert(pattern.test(str)); //true

var pattern=/b[a-z]*x/ig; // [a-z]表示26個小寫字母都可以任意匹配,也可以多個組合使用

var str='this is a boox';

alert(pattern.test(str)); //true

注:^表示從頭來開始匹配 $表示從尾開始匹配 同時使用表示要和正則完全相同

var pattern=/bo[0-9a-z]x/ig; //多個匹配的組合

var str='this is a bo1x';

alert(pattern.test(str)); //true

var pattern=/bo[^0-9a-z]x/ig; //括號中加^,表示除括號內的其他字元

var str='this is a bo1x';

alert(pattern.test(str)); //false

還有一些特殊的元字元: \w 表示可以匹配大小寫字母和數字及_ \w與\w相反

\d表示任意的數字 \d 表示非數字

js之正規表示式1

1.正則的作用,簡單來說主要是以下幾個 匹配,替換,搜尋,提取 2.正則的兩種建立形式 a perl風格,簡單快速,語法 var reg pattern flages 解釋 pattern是模式,就是你想要點匹配效果,flages是標誌組合 有三個值,g全文搜尋,i 忽略大小寫,m多行查詢。eg 想...

js 正規表示式(1)

正規表示式是前端面試中的高頻考點,但是正則又像一塊裹腳布一樣又臭又長。最近看一些部落格找到一些規律,分享在這裡。正則是匹配模式,要麼匹配字串,要麼匹配位置。1.長度不定 使用量詞 abc 表示在b在a和c 之間出現有2 5次不等。1.字元不定 使用字元組 123 ab 123 c 表示在b和之間可能...

js正規表示式1

知識 阮一峰老師的教程 doctype html html lang en head meta charset utf 8 title title title head body body script 正則物件的屬性和方法 正則物件的屬性分成兩類。一類是修飾符相關,返回乙個布林值,表示對應的修飾符...