正規表示式的介紹及常用方法

2021-09-26 09:41:42 字數 3599 閱讀 5969

正規表示式的方法

正規表示式

正規表示式(regular expression)描述了一種字串匹配的模式(pattern),可以用來檢查乙個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。

構造正規表示式的方法和建立數學表示式的方法一樣。也就是用多種元字元與運算子可以將小的表示式結合在一起來建立更大的表示式。正規表示式的元件可以是單個的字元、字元集合、字元範圍、字元間的選擇或者所有這些元件的任意組合。

正規表示式是由普通字元(例如字元 a 到 z)以及特殊字元(稱為"元字元")組成的文字模式。模式描述在搜尋文字時要匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。

1、使用構造方式建立正規表示式

var reg=new regexp(「正規表示式」,「匹配原則」);

正規表示式的第二個引數可以有兩個:

2、還可以使用字面量來建立正規表示式

語法:var reg=/正規表示式/匹配原則 如:var reg=/a/i;

通過量詞可以設定乙個內容出現的次數,量詞只與它前面的乙個內容起作用。

在正規表示式中使用\ 表示轉義,.表示任意字元,在正規表示式中若要判斷乙個字串中是否含有.,需要用\ .表示..

:使用正規表示式的建構函式時,由於它的引數是乙個字串,而\ 是字串中的轉義字元,所以使用\ 需要用\ \ 代替

\ w:表示任意字母、數字和下劃線

\ w:表示除了任意字母、數字和下劃線

\ d:表示任意數字

\ d:表示除了任意數字

\ s:表示空格

\ s:表示除了空格

\ b:表示單詞邊界

\ b:表示除了單詞邊界

舉例介紹:

reg=/\bchild\b/;  //表示child前後不能有其它的字元

reg=/\bchild\b/; //表示child前後必須有其它的字元

去除字串中的前後空格,用""來替換。

var str=" 1a 2b3c 4d5 ";

str=str.replace(/^\s*/,"");

console.log(str);

執行結果如下

var str=" 1a 2b3c 4d5 ";

str=str.replace(/\s*$/,"");

console.log(str);

執行結果如下

var str=" 1a 2b3c 4d5 ";

str=str.replace(/^\s* || \s*$/g,"");

console.log(str);

執行結果如下test()

該方法的返回值是布林值,通過該值可以匹配字串中是否存在於正規表示式相匹配的結果,如果有匹配內容,返回ture,如果沒有匹配內容返回false,該方法常用於判斷使用者輸入資料的合法性,比如檢驗email的合法性.

基本語法:

舉例

var reg=new regexp("a","i");    // reg=/a/i;

reg=/a/i;

console.log(reg.test("ababc")); //檢查乙個字串裡是否有a或者a

split()

該方法可以將乙個字串拆分為乙個陣列,方法中可以傳遞乙個正規表示式作為引數,這樣方法將會根據正規表示式來拆分字串,這個方法即使不指定全域性匹配,也會全域性檢索。

舉例

var str="1a2b3c4d5f6";   //定義乙個字串str

var result=str.split(/[a-z]/i); //通過字母拆分字串,不區分大小寫

console.log(result);

執行結果如下search()

該方法可以搜尋字串中是否含有指定內容,如果搜尋到指定內容,則返回第一次出現的索引,如果沒有搜尋到指定內容,則返回-1.它可以接收乙個正規表示式,通過正規表示式去檢索字串,search只會查詢第乙個

舉例

var str="hello abc hello adc hello afc";

//搜尋字串中是否含有abc或者adc或者afc

var result=str.search(/a[a-z]c/);

console.log(result);

執行結果如下:match()

可以根據正規表示式,從乙個字串中將符合條件的內容提取出來,預設情況下match只會提取出第乙個符合條件的內容,找到之後停止檢索, 這時候我們可以設定正規表示式為全域性匹配模式,這樣就會檢索所有的內容,可以為乙個正規表示式設定多個匹配模式,且順序無所謂, match()會將匹配到的內容封裝到乙個陣列中,即使只查詢到乙個內容

舉例

var str="1a2b3c4d5e6f";

var result=str.match(/[a-z]/g);// /[a-z]/gi:兩個匹配模式,既全域性匹配又忽略大小寫

console.log(result);

console.log(typeof result); //檢測result的型別

console.log(array.isarray(result)); //檢測是否為陣列

console.log(result[2]);

執行結果如下:

replace()

可以將字串中的指定內容轉換為新內容。接收兩個引數:

1:要被替換的內容

2:新內容

舉例

var str="喵了個咪蹦啥卡拉卡喵了個咪蹦沙卡瞄了拉卡個咪";

var result=str.replace(/喵了個咪/g,"***"); //將字串中的"喵了個咪"替換為"***"

console.log(result);

執行結果如下:

正規表示式幾種常用方法介紹

1 exec 方法是乙個正規表示式方法,用於檢索字串中的正規表示式的匹配。函式返回乙個陣列中,其中陣列中存放匹配的結果 如果未找到匹配,則返回值為null。2 test 方法是乙個正規表示式方法,用於檢測乙個字串是否匹配某個模式,如果字串中含有匹配的文字,則返回true,否則返回false。3 se...

正規表示式語法及常用的正規表示式

語法請進 看,很詳細 很好 就不複製了。常用正規表示式 正規表示式用於字串處理 表單驗證等場合,實用高效。現將一些常用的表示式收集於此,以備不時之需。匹配中文字元的正規表示式 u4e00 u9fa5 評注 匹配中文還真是個頭疼的事,有了這個表示式就好辦了 匹配雙位元組字元 包括漢字在內 x00 xf...

正規表示式簡單語法及常用正規表示式

基本符號 表示匹配字串的開始位置 例外 用在中括號中 時,可以理解為取反,表示不匹配括號中字串 表示匹配字串的結束位置 表示匹配 零次到多次 表示匹配 一次到多次 至少有一次 表示匹配零次或一次 表示匹配單個字元 表示為或者,兩項中取一項 小括號表示匹配括號中全部字元 中括號表示匹配括號中乙個字元 ...