詳情可看mdn文件
幾個值得記憶的點:
(.):任意字元,除了\r\n\\u2028\u2029的所有單個字元,大於\u0xffff的兩個字元也不行
[\s\s]與[^]:所有單個字元,包括換行符
o\\bo:不存在這樣的單詞進行匹配
+:,取盡可能大,+?則是取盡可能小,最小為1
*:,取盡可能大,*?則是取盡可能小,最小為0
?:,取盡可能大,最大為1,??則是取盡可能小,最小為0
[xyz]:單個字元是x或y或z;而[^xyz],則是除了xyz的單個字元
就是用來捕獲自己想要的值,用來自己進行後續操作
var a = /-(\w)/g;
console.log('get-own-property-name'.replace(a,function (match, $1) )); //getownpropertyname
match:匹配成功的字串
$1:是第乙個組匹配的值,例如後面多個括號則是$2$3...
注意組匹配巢狀時的順序console.log("bc".replace(/((b)c)/g,"$1+$2")); //bc+b
從左開始,而不是從內開始
字串的match與split在進行組匹配時,是否新增修飾符g結果不一樣
console.log("abc".match(/(.)b/g)); //["ab"]
console.log("abc".match(/(.)b/)); //(2) ["ab", "a", index: 0, input: "abc", groups: undefined]
console.log("abc".split(/(b)/)); // ["a", "b", "c"]
console.log("abc".split(/b/)); //["a", "c"]
總結:match方法只要進行了g全域性匹配就只會返回最終匹配到的字串組成的陣列;split只要進行了組匹配就會返回捕獲的內容
數字格式化:
var r = /\b(?=((\d)+$))/g;
console.log('1234567890'.replace(r, '.'));
console.log('123'.replace(r, '.')); //123
JavaScript學習筆記之 正規表示式總結
一直在默默的學習js,蒐集的網上的一些資料和實際中的學習總結的常用的正規表示式,留著備用。數字 d d 整數 1 9 d 正數 1 9 d 0 負數 1 9 d 0 正整數 1 9 d 負整數 1 9 d 浮點數 d d 正浮點數 1 9 d d 0.d 1 9 d 負浮點數 1 9 d d 0.d...
JavaScript學習之排序
陣列的排序 1.陣列排序arr1 4,5,6,2,3,8,1,0,7 function add a,b document.write arr1.sort add 從小到大排列。a在js中表示前乙個數,b表示後乙個數,我理解為若差值為負,則順序不變,若差值為正,則a與b交換順序 function ji...
Javascript之正規表示式的學習筆記
小白正規表示式入門學習 正規表示式30分鐘入門教程 正規表示式regular expression是一種文字模式。它描述了一種字串匹配的模式pattern,可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串等。我們將正規表示式分為幾個部分記下筆記,便於理解與使用...