正則以及淺拷貝深拷貝

南方小菜發表於2019-03-20
  • 淺拷貝深拷貝

    • 淺拷貝在於建立一個新的物件,將原物件的所有屬性進行遍歷然後賦值傳遞完成物件拷貝,關鍵點在於建立新的一個物件;
    • 深拷貝大體同上,關鍵多了一步:對原物件屬性進行判斷,如果是基本型別,則正常值傳遞;如果是引用型別,則建立對應的引用物件進行深拷貝;關鍵點在於,保證新物件及物件內的所有屬性的指向與舊物件的全不相同;
  • 正則(由元字元或限定符組成的式子,主要用於校驗字串組成格式)

    1. 元字元

      • . 除\n外的任意一個字元
      • [] 範圍內任意一個
      • | 或者
      • () 分組,提升優先順序
      • ^ 開始 $ 結束 相當於嚴格模式
    2. 限定符

           前面表達項的個數
      複製程式碼
      • * 0-無限
      • + 1-無限
      • ? 0-1
      • {a,b} a-b
    3. 快捷

      • \d 相當於[0-9]         \D ^[0-9]
      • \s 空格符           \S 非空格符
      • \w 非特殊符號[a-zA-Z0-9_]   \W [^a-zA-Z0-9_]
    4. 經典例子

    • 手機號:
([1][358][0-9]{9})|([1][4][37][0-9]{8})|([1][7][01367][0-9]{8})
複製程式碼
- 郵箱:
複製程式碼
[a-zA-Z0-9._-]+[@][a-zA-Z0-9_.-]+([.][a-zA-Z]+){1,2}
複製程式碼
- 中文
複製程式碼
[\u4e00-\u9fa5]
複製程式碼

相關文章