正則寫資料備忘錄

2021-09-28 16:15:42 字數 2347 閱讀 2718

//正規表示式

// ^[a-za-z0-9]+$

//1.正則定界符 / (根據不同的語言略有不同)

var zz = /a/; //這是乙個正規表示式 / 為正則定界符

console.log(zz ,typeof zz);

//2.原子

/* 1.所有可見字元都是原子,abcd

2.所有不可見字元也是原子 \n \r \t

3.表示所有數字的原子 \d [0-9任意乙個字元]

4.表示所有非數字的原子 \d

5.表示能夠當作變數使用的原子 \w [0-9a-za-z任意乙個字元]

6.表示不能夠當作變數使用的原子 \w [除了0-9a-za-z任意乙個字元]

7.所有不可見字元也是原子 \s [任意乙個不可見字元]

8.所有可見字元也是原子 \s [任意乙個可見字元]

*///原則:正規表示式至少包含乙個原子!

//3.元字元:用於修飾原子的符號

//1. 原子列表:自定義原子範圍 [表示列表中任意乙個字元] [0123456789] = \d

//2.[^]排除列表:自定義原子範圍 [表示列表中任意乙個字元]

//3.+ 1個以上的指定原子

//4.* 0個以上的指定原子

//5.? 0個或者1個

//6. 指定原子最少m個最多n個

//7. 指定原子最少m個 多了不管

//8. 指定原子必須m個

//9.^ 限制內容必須在整個字串的開頭位置 開頭必須是你寫的內容的樣子

//10.$ 限制內容必須在整個字串的結束位置 結束必須是你寫的內容的樣子

//11.. (原子) 表示任意乙個字元 除了\n

//12.| 唯一乙個邏輯運算 (****)

//13.\b 詞邊界 除了數字和字母 (能夠當作英文單詞的分割符號) 位置限定

//14.\b 非詞邊界 數字和字母 (不能夠當作英文單詞的分割符號) 位置限定

//i ighore 忽略大小寫

//g global 全域性匹配

//m multiline 多行模式

var str3 = '我今天完了158個遊戲,走了9999步,你打擾我21231次!';

var str4 = 'www.geeeoooooggglllllleee.com';

var result4 = str3.match(/\d+/g);

var result5 = str4.match(/geog+l*e*/g);

console.log(result4);

console.log(result5);

// var str2 = '10士9貧湊得8兩7錢6分5毫4釐況且3心2意1等下流'; //取出所有奇數

// var result2 = str2.match(/[13579]/g);

// var result3 = str2.match(/[^02468]/g);

// console.log(result2);

// console.log(result3);

// var str = '3心2意 1等下流 -=+\n*&ghfcbj';

// var result = str.match(/3/g); //g 等於 global

// var number = str.match(/\d/g); // 獲取所有數字字元

// var str = str.match(/\d/g); //獲取非數字的所有字元

// var glo1 = str.match(/\w/g); //獲取0-9a-za-z的所有字元

// var glo2 = str.match(/\w/g); //獲取0-9a-za-z的所有字元

// var steam1 = str.match(/\s/g); //獲取不可見的所有字元 空格 tab

// var steam2 = str.match(/\s/g); //獲取可見的所有字元 除了空格 tab

// console.log(result);

// console.log(number);

// console.log(str);

// console.log(glo1);

// console.log(glo2);

// console.log(steam1);

// console.log(steam2);

//match函式() 進行字串正則匹配

// var str = 'give you color see see';

// var result = str.match(/color/);

// console.log(result);

備忘錄模式

備忘錄模式 memento 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。originator 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻它的內部狀態,並可以使用備忘錄恢復內部狀態。originator可根據需要...

備忘錄模式

先從物件導向的三大特徵之一封裝說起。物件導向的封裝簡單點說就是把狀態 資料 和行為 操作這些資料的方法 放到一起,構成乙個單元,通常叫做類。乙個物件的行為是事先確定好的 靜態 一些指令碼,如果物件的狀態相同,物件看起來就是一樣的。所以當我們需要把乙個物件的某一時刻儲存起來,那麼只需要儲存它在那個時刻...

備忘錄模式

面臨問題 物件狀態的變化無端,如何回溯恢復物件在某個點的狀態?在軟體構建過程中,某些物件的狀態在轉換過程中,可能由於某種需要,要求程式能夠回溯到物件之前處於某個點時的狀態。如果使用一些公用介面來讓其他物件得到物件的狀態,便會暴露物件的細節實現。如何實現物件狀態的良好儲存與恢復?但同時又不會因此而破壞...