2019/1.2/正則的理解

来源:https://www.cnblogs.com/jinfeixiang/archive/2019/01/02/10210873.html
-Advertisement-
Play Games

1.var reg=/./ var reg=/\./ 前者代表任何一個字元,後者代表這個字元中得有一個 2.?的使用 如果單獨一個字元後面帶? var reg=/\d?/ /n?/ 代表一個或0個字元的出現 如果是量詞+和*,{2,}後面帶?取消正則的貪婪性 在捕獲階段 3.捕獲 1.普通捕獲 ex ...


1.var reg=/./  var reg=/\./

 

前者代表任何一個字元,後者代表這個字元中得有一個

2.?的使用

如果單獨一個字元後面帶? var reg=/\d?/  /n?/

代表一個或0個字元的出現

如果是量詞+和*,{2,}後面帶?取消正則的貪婪性  在捕獲階段

3.捕獲

  1.普通捕獲 exec() macth()

  普通捕獲也有懶惰行,給正則添加一個修飾符g 就可以解決,match 是將所有捕獲的內容放在一個數組並返回。match就是對exec的一個簡單的封裝

  2.分組捕獲 捕獲方法還是exec和match

  正則在結構上發生了變化 ,加()

  var reg=/(a)(b)/

  Exec()和match()在非全局下分組捕獲是相同的,在捕獲的過程中即捕獲大正則里的內容也捕獲分組中的內容並都返回

  

  Exec()和match()在全局下分組捕獲是不一樣的,exec()不變。但是match只捕獲大正則里的內容

 

 3.分組捕獲的優勢

  A 可以提升優先順序

  B 可以捕獲引用

  \1 代表捕獲1裡面的內容  \2代表分組2裡面的內容

  前提是分組必須在引用前面,如果\2在分組的前面代表普通的表達式???

  分組的結果存在正則類 RegExp的$number屬性下

  \1 和RegExp.$1二者都是分組引用

  \1 只能使用正則表達式裡面,RegExp.$1可以外面使用。都是在捕獲完成的條件下。

  4. 在捕獲的過程中怎樣取消捕獲分組中的內容

  在分組的前面加上?:就ok了

  ?:和?=的區別

  ?:取消捕獲分組中的內容

  ?=  a(?=s)

  

 

  5.replace細說

  replace 是字元串的一個方法,他有兩個參數,用後者將前者替換掉,並都返回一個新的字元串,但是沒有改變原來的字元串。

  1. 如果第一個參數是字元串只改變一次

  2. 如果第二個參數是正則,捕獲一次改變一次

  3.如果第二個參數是匿名函數,每捕獲一次這個匿名函數就執行一次,return是什麼,那就替換成什麼,這個匿名函數的arguments有三個元素

 

  作者:晉飛翔

  QQ/微信同步:318080891

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 自從成為架構師()之後,李大胖的學習動力似乎少了一些,尤其是今年(當然也有一些客觀因素)。 臨近歲末,內心著實有些慚愧,決定學習一把大數據。跟隨一下業界前沿(其實已經不是前沿了),夢想著有一天能夠擁有擁有夢想的權力。 操練起來 啟動裝有CentOS的虛擬機(IP是172.18.232.181),按照 ...
  • 在上一篇 學習安卓開發[3] 使用RecyclerView顯示列表 中瞭解了在進行列表展示時RecyclerView的使用,本次記錄的是在應用中如何通過隱式Intent調用其它應用的功能,比如發簡訊、打電話、拍照等 隱式Intent 簡訊 判斷是否存在相關APP 相機 FileProvider Bi ...
  • 配置:Android Studio3.2.0,gradle-4.6 ,windows10 在http://www.android-studio.org/完成下載工作,我下載的版本是3.2.0。之後一路安裝,最後沒有SDK的需要安裝一系列東西,準備開始創建第一個項目: application name ...
  • 問題: 執行cordova build android 出現輸出如下,編譯不成功。 ANDROID_HOME=/Users/huangenai/Library/Android/sdkJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jd ...
  • 在小米8等一系列圓角的手機上測試項目時,發現我的自定義dialog無法全屏了,這時我的dialog全屏的解決方案還是和網上大部分人是一樣的 但是當手機使用了圓角設計時,可能就會為了顯示效果而強制使dialog能夠完整顯示。 常規做法可能是在其周圍加上padding。但是通過我的代碼可以看到,我已經使 ...
  • 在實際開發中,我們禁止縮放的實現方式: 1.meta設置: <meta name="viewport" content="width=device-width,height=device-height, initial-scale=1.0, maximum-scale=1.0, minimum-sc ...
  • 1.web前端開發,如何提高頁面性能優化? 2.前端開發中,如何優化圖像?圖像格式的區別? 3.Vue的雙向數據綁定原理是什麼? 4.請說下封裝 vue 組件的過程? 5.vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎? ...
  • 1. 全局安裝vue cli 2. 初始化 vue ui 執行命令 2.1 該命令會自動打開你的瀏覽器,預設地址為: localhost:8000/project/select ,瀏覽器展示的頁面如下: 切換界面到創建,點擊下麵 在此創建新項目按鈕 2.2 2.3 上面的兩項不用管,是我之前創建過玩 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...