JavaScript學習之正規表示式

2021-09-13 08:10:35 字數 1251 閱讀 2436

詳情可看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,可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串等。我們將正規表示式分為幾個部分記下筆記,便於理解與使用...