n$作用是以n單位字串為結尾,可以明確的是單個字元n,也可以是乙個單位字串,比如(ab\w)$
\1~\n可以作為,n和b的引用,注意,n和b都需要使用()括起來,用帶括號的才能被引用,n和n和上一條一樣,也是單個字元或者單位字串
var str = "aabcd";
var regexp = /(\w)\1/g;
var res = str.match(regexp);
console.log(res);//['aa']
用()擴起來的為乙個組,$1~$n可以作為當前regexp的匹配分組的各個引用,例子中abd被引用了,但由於\w沒有使用(),所以不算引用
var str = "abcd";
var regexp = /(a)(b)\w(d)/g;
var res = str.replace(regexp,"$3");
console.log(res);//d
console.log(regexp.$1);//a
console.log(regexp.$2);//b
console.log(regexp.$3);//d
var str = "123li456li789";
var regexp = /li/ig;
console.log(regexp.lastindex);//0
console.log(regexp.exec(str));//[ 'li', index: 3, input: '123li456li789', groups: undefined ]
console.log(regexp.lastindex);//5
console.log(regexp.exec(str));//[ 'li', index: 8, input: '123li456li789', groups: undefined ]
console.log(regexp.lastindex);//10
console.log(regexp.exec(str));//null
一般使用str.replace(str,str1);只是一次替換,不能全域性替換
正則使用str.replace(regexp,str);雖然正則,但是不能調配或者使用正則中的引用
正則加函式使用 str.replace(regexp,($1~$n)=>);
var str = "123li456li789";
var regexp = /(l)(i)/ig;
var res = str.replace("li", "li");//一般使用
str.match(regexp);
console.log(res);//123li456li789
res = str.replace(regexp, "li");//正則使用,可以替換兩個li
console.log(res);//123li456li789
res = str.replace(regexp, function ()
);console.log(res);//123li456li789
//正則使用,可以動態任意修改匹配的內容
例子:使用者名稱只 能用 中文、英文、數字、下劃線、4-16個字元。
var reg = /^[\u4e00-\u9fa5\w]$/g;
var res = str.match(reg);
當建立乙個固定reg時,可以使用/n/igm的方式,但是n是引數名時,無法代表引數的值,比如乙個引數名為_str,
建立時/_str/g;此時的_str只是字串?"_str"的意思,可以使用var reg = new regexp(_str,"g");的方式
正規表示式tips
正規表示式 new regexp 表示式,修飾符 修飾符 g 表示全域性匹配 表示式 表示以.開頭 表示以.結尾 表示必須包含.萬用字元,表示?方括號用於查詢某個範圍內任意乙個的字元 a z 表示包含大寫字母 a z 表示包含小寫字母 a z 表示包含大寫字母和小寫字母 0 9 表示包含0 9的數字...
JS正規表示式 4 常用的正規表示式
驗證有效數字0,1 2,3 1,2,310,20 30,10,20 3011.1 22.2,11.1,22.2 1 2,301,002,0003 規則分析 1.可能出現 號,也可能不出現 2.一位數 0 9都可以,多位數開頭不能為0 d 1 9 d 3.小數點可以有 一旦有必須跟上數字 可以無 d ...
JS學習 正規表示式
正規表示式 regular expression 是乙個描述字元模式的物件。ecmascript 的 regexp 類,正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字編輯器中,正規表示式通常被用來檢索 替換某些符合某個模式的文字。例如word中的查詢替換功能。換句簡單的話...