正則表達是的基礎
1、正規表示式的介紹
正規表示式為Regular Expression
正規表示式是用來對字串中的資訊實現查詢、替換和提取的操作。
2、正規表示式的實踐
【查詢案例】
//查詢所有的數字
var str = "1 dsd hhs67 89ud d 555 222 sshdsahd880 hhd88 99";
var res = str.match(/d+/g);
console.log(res);
列印結果
(8) ["1", "67", "89", "555", "222", "880", "88", "99"]
【替換案例】
//替換所有的is為IS
var str1 = "my name is abcd . is no what is you name?"
var res1 = str1.replace(/is/g , "IS");
console.log(res1);
列印結果
my name IS abcd . IS no what IS you name?
3、正規表示式的定義(正規表示式示例的建立)
2種定義方式
1、// 自變數定義
【案例】
//找到匹配abcd的字元
var str = "my name is Abcd . is no what is you name?";
var res = /abcd/i;
console.log(res.test(str));
列印結果為true
2、new RexExp();new一個正規表示式
【案例】
//找到匹配abcd的字元
var str = "my name is Abcd . is no what is you name?";
var res = new RegExp("abcd","i");
console.log(res.test(str));
列印結果為true
4、正規表示式的修飾符(flag)
i—-ignore 忽略大小寫
g—-global 全域性全部
m—-multiline 多行
5、正規表示式的字元
普通字元
a-z Z-A 0-9
特殊字元
() [] {} ? * + ^ $ |
預定義字元
n d w s t b……
6、元字元[] (元類字元)
代表一類字元
【案例1】
//替換多有的jgf
var str = "aasj jgjgdk ghghr lfjfhd";
var res = str.replace(/[jgf]/g,"WJ");
console.log(res);
列印結果
aasWJ WJWJWJWJdk WJhWJhr lWJWJWJhd
【案例2】
//找到以a開頭以c結尾中間是sdf的字元
var str1 = "abc adc asc afc ahc atc adc";
var res = str1.match(/a[sdf]c/g);
console.log(res);
列印結果
(4) ["adc", "asc", "afc", "adc"]
7、量詞
{} 用來修飾字元的
8、貪婪模式
貪婪模式是什麼,我們怎麼解決貪婪模式
正則匹配儘可能給我們匹配跟多的,這就就出現了貪婪模式
我們解決貪婪模式的方式就是反貪婪模式,在其後面加?即可
9、分支 分組和應用
分支用|表示
分組用()表示
10、邊界問題 ^$ b
整個字串邊界 ^ $
單詞的邊界 b B
11、前瞻
【案例】
正向前瞻reg(?=reg1)
//返回91前面的shitu
var str = "shitu 91 nihao!";
var reg = str.match(/shitu (?=91)/g);
console.log(reg);
列印結果["shitu "]
反向前瞻reg(?!reg1)
//找不到任何
var str = "shitu 91 nihao!";
var reg3 = str.match(/shitu (?!91)/g);
console.log(reg3);
列印結果null
//返回shitu 91 忽略分組
var str = "shitu 91 nihao!";
var reg1 = str.match(/shitu (?:91)/);
console.log(reg1);
列印結果
["shitu 91", index: 0, input: "shitu 91 nihao!"]
//返回shitu 91 91
var str = "shitu 91 nihao!";
var reg2 = str.match(/shitu (91)/);
console.log(reg2);
列印結果
(2) ["shitu 91", "91", index: 0, input: "shitu 91 nihao!"]
12、正則物件的屬性
iastIndex
flags
global
ignoreCase
multiline
source
喜歡的朋友可以點贊和收藏奧