正則表達式一基礎語法

来源:http://www.cnblogs.com/huipengbo/archive/2017/05/19/6876431.html
-Advertisement-
Play Games

一.正則表達式 為什需要正則:複雜文本的處理,強大而靈活的文本處理工具 大部分編程語言,資料庫,文本編輯器,開發環境都支持正則表達式 定義:描述了一種規則,這個規則可以匹配一類字元串。 開發中如何使用: 分析所要匹配的數據,寫出測試用的典型數據 在工具軟體中進行匹配測試 在程式中調用通過測試的正則表 ...


一.正則表達式
  為什需要正則:複雜文本的處理,強大而靈活的文本處理工具
  大部分編程語言,資料庫,文本編輯器,開發環境都支持正則表達式
  定義:描述了一種規則,這個規則可以匹配一類字元串。
  開發中如何使用:
  ---分析所要匹配的數據,寫出測試用的典型數據
  ---在工具軟體中進行匹配測試
  ---在程式中調用通過測試的正則表達式

二.基本語法

  @1普通字元
    ---字母,數字,漢字,下劃線,以及沒有特殊定義的標點符號,都是普通字元。
    ---表達式中的普通字元在匹配一個字元串時,匹配與它相同的一個字元

        

  @2簡單的轉義字元
    ---如\n換行符,\t製表符等等

        

        


  @3標準字元集合
    -能夠與“多種字元”匹配的表達式
    -註意區分大小寫,大寫是相反的意思
    ---\d 代表任意一個數字,0-9中任意一個,\D代表非數字字元中的任意一個

        

        


    ---\w 任意一個字母或數字或下劃線,也就是 A-Z,a-z,0-9,_中任意一個,\W代表非\w字元中任意一個

        
    ---\s 包括空格,製表符,換行符等空白字元中任意一個,\S代表非空白字元中任意一個

        
    ---小數點可以匹配任意一個字元,如果要匹配包括\n在內所有字元,一般用[\s\S] 匹配任意一個字元

        

 


  @4自定義字元集合
    ---[]方括弧匹配方式,能夠匹配方括弧中任意一個字元
    ---[ab5@] 匹配"a",或"b"或"@"中任意一個

        

 

    ---[^abc] 匹配a,b,c之外的任意一個字元

        

 


    --[f-k] 匹配f-k之間任意一個字母

        

 


    ---[^A-F0-3] 匹配A-F,0-3之外的任意一個字元

        

 


  @5量詞(Quantifier)
    ---{n} 表達式重覆n數
    ---{m,n} 表達式至少重覆m次,最多重覆n次

        

    ---{m,} 表達式至少重覆m次
    ---?匹配表達式0次或者1次,相當於{0,1}
    ---+表達式至少出現1次,相當於{1,}
    ---*表達式不出現或出現人一次,相當於{0,}
    ---匹配次數中的貪婪模式(匹配字元越多越好)
    ---匹配次數中的非貪婪模式(匹配字元越少越好,修飾匹配次數的特殊符號再加上一個?號)

        

 


    ---\d\d\d表示匹配連著的三個數字

        

    ---\d{6} 表示匹配六個連著的數字 {6}修飾自己前一個表達式(\d\d){6}表示12個連著的數字

          

 

三.說明:圖片中黃藍表示匹配著的字元


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

-Advertisement-
Play Games
更多相關文章
  • R語言數據可視化之ggplot2包,從柱狀圖開始。從簡單的業務量統計開始。 ...
  • ggplot2介紹:內容包含什麼是ggplot2、與lattice包的比較、基本概念、一個例子。 ...
  • 一、基本概念 1.AOP簡介 DI能夠讓相互協作的軟體組件保持鬆散耦合;而面向切麵編程(aspect-oriented programming,AOP)允許你把遍佈應用各處的功能分離出來形成可重用的組件。把這些橫切關註點與業務邏輯相分離正是面向切麵編程(AOP)所要解決的問題 常見場景:日誌、安全、 ...
  • Discrete Logging Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5865 Accepted: 2618 Description Given a prime P, 2 <= P < 231, an integer ...
  • R語言簡介,其中說到了R的概況、特點、圖標、界面、一些必要的和裝逼的設置、缺點。 ...
  • 解決quartz定時任務被觸發兩次的問題: 其中<Host/>告訴tomcat,在啟動的時候載入webapps下的所有項目工程文件,<Context/>又讓tomcat再載入了一遍(一般情況下配置<Context/>,主要是由於想功能變數名稱訪問時將工程名去掉的原因配置),這種情況下會導致工程中的quart ...
  • 單一職責原則是面向對象原則五大原則中最簡單,也是最重要的一個原則, 他的字面定義如下: 單一職責原則(Single Responsibility Principle, SRP): 一個類只負責一個功能領域中的相應職責,或者可以定義為:就一個類而言,應該只有一個引起它變化的原因。 從定義中可以看出在定 ...
  • 本文簡要介紹一個關於單據的常規審核流從雛形到形成標準系統結構的思維轉變, 沒有什麼高深的技術, 有的只是循序漸進的思維轉變.希望能給有類似需求或在軟體設計過程中有困惑的朋友一個簡明參考. ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...