知道這5種正則表達式,能讓你少些2000行代碼

2021-01-11 IT茂

正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。

一個十分古老而又強大的文本處理工具,僅僅用一段非常簡短的表達式語句,便能夠快速實現一個非常複雜的業務邏輯。

正則表達式的特點是:

1. 靈活性、邏輯性和功能性非常強;

2. 可以迅速地用極簡單的方式達到字符串的複雜控制。

3. 對於剛接觸的人來說,比較晦澀難懂。

由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。

下面五種正則表達式。我全部用Excel表整理,截圖下來,方便大家學習。

字符匹配

字符匹配

次數匹配

次數匹配

位置定位

位置定位

分組

分組

擴展

擴展

下面是我在百度上找到的一張非常不錯的正則表達式 Cheat Sheet,可以用來快速查找相關語法。

正則表達式相關語法

用心寫好每篇文章,願你來此,能有所得。

相關焦點

  • 正則表達式在VBA中間是如何應用?正則表達式的實現方式?
    在繼續學習正則元字符特性或編制自己的正則表達式時,常常需要對其測試.也可以自己編制VBA代碼進行測試,這樣做的好處是可以提高在今後實際工作應用正則表達式的能力。所以,先介紹正則與VBA的交互的相關知識,讓你在VBA中間使用正則表達式遊刃有餘。當然你也可以快速閱讀或直接越過本章內容,在你以後的實際具體工作應用時,直接查閱即可。
  • Python「正則表達式」詳解(上)
    大家好,今天我們一起學習以下Python中的「正則表達式」,說到正則表達式,大家可能比較陌生,不過我卻要告訴你,你每天都在使用正則表達式,不要不承認,就問你最常見的,瀏覽器每天用不?淘寶經常逛不?你在搜索框裡輸入幾個文字,按下回車,就出來大量結果,你想想這是怎麼辦到的,是正則表達式,可以好不誇張的講,沒有正則表達式,就沒有搜尋引擎。
  • 使用JavaScript對正則表達式進行解析
    只是語法的尷尬,它們看起來確實很奇怪,如果你不知道它們是什麼意思,那它們看起來會非常複雜。我的目的不是要嚇你,一旦我們了解了正則表達式那它就變得很簡單:讓人畏懼.....今天,我們將揭開正則表達式的神秘面紗,看到它的含義,它的用途以及如何設計正則表達式來解決問題。1、什麼是正則表達式?正則表達式是描述數據字符串中模式的一種方式。
  • 給JAVA程式設計師的正則表達式一課
    「不會正則表達式,就算寫遍代碼也嘛不是」。說到正則表達式,可能動態語言的碼農Perl,Python,JS甚至是Golang的開發人員可能都熟悉。對Java碼農來說,可能CURD手到擒來,Spring Stuts Hibernat耳聞能詳,但是說到Regex RE模式,可能熟練的少。那麼,今天蟲蟲就來給廣大Java碼農來補補正則的課。
  • 學習Python正則表達式
    Python中的正則表達式(re)就可以解決這個問題!正則表達式正則表達式是一個具有特殊字符的序列。它有助於檢查字符串中的每個字符,看它是否與某個模式匹配:哪些字符在什麼位置出現了多少次。因此,我們可以進行如下程序:result = re.findall(r』\d{3}-\d{7}』, text){3} — 3 digits, {7} — digits上面的代碼意味著我們要查找的字符串由3個數字組成,後跟一個「-」,然後是7個數字。是的!這正是你要找的!『那麼,如果客戶沒有留下他們的區號呢?』
  • 正則表達式的基礎知識和Python中的基本應用
    正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本,簡單來說它就是記錄文本規則的代碼,再通過這種規則判斷和篩選字符串。多種程序設計語言支持正則表達式,Python也不例外。正則表達式其實就是立規矩的設置代碼今天來學習一些使用正則表達式需要掌握的一些知識。
  • 代碼詳解:Python正則表達式的終極使用指南
    雖然想要實現上述功能聽起來很繁瑣,但是如果使用Python正則表達式模塊,就可以使這一操作更加簡單。假設要在一篇特定的文章中找出標點符號的數量。以狄更斯的作品文本為例。你通常會怎麼做?但如果有re模塊,則只需兩行代碼:import repattern = r"[;.,–]"print(len(re.findall(pattern,string)))-19本文討論的是最常用的正則表達式模式,以及一些經常使用的正則表達式函數。什麼是正則表達式?
  • Python:正則表達式基本符號總結
    說明:上面提到的re模塊中的這些函數,實際開發中也可以用正則表達式對象的方法替代對這些函數的使用,如果一個正則表達式需要重複的使用,那麼先通過compile函數編譯正則表達式並創建出正則表達式對象無疑是更為明智的選擇。
  • MySQL如何使用正則表達式?(代碼示例)
    MySQL支持基於正則表達式和regexp運算符的另一種模式的匹配操作。下面本篇文章就帶大家認識一下MySQL的正則表達式(Regexp),通過示例來簡單介紹在MySQL中如何使用正則表達式(Regexp),希望對大家有所幫助。
  • 正則表達式生成工具,小白有這兩個工具就夠了
    作為一個碼農,有時不可避免地要編寫正則表達式的代碼。嚴格來說,正則表達式不是一種開發語言,所以並不是每個人都能完全寫出來,它的規則有些奇怪,根本寫不出來,但是現在大多數項目都不能脫離它,特別是你要寫爬蟲、驗證等類型項目。今天有個粉絲給我公眾號發消息,問我有沒有在線生成的工具?
  • 【第160期】指尖上的正則表達式–入門篇
    正則表達式被作為用來描述其稱之為「正則集的代數」的一種表達式,因而採用了「正則表達式」這個術語。之後一段時間,人們發現可以將這一工作成果應用於其他方面。Ken Thompson就把這一成果應用於計算搜索算法的一些早期研究,Ken Thompson是 Unix的主要發明人,也就是大名鼎鼎的Unix之父。
  • python正則表達式使用方法說明
    二、使用正則表達式步驟1、尋找規律;2、使用正則符號表示規律;3、提取信息,如果每一個字符都能匹配,則匹配成功;一旦有匹配不成功的字符則匹配失敗。5.數字「\d」正則表達式裡面使用「\d」來表示一位數字。再次強調一下,「\d」雖然是由反斜槓和字母d構成的,但是要把「\d」看成一個正則表達式符號整體。6.小括號「()」小括號可以把括號裡面的內容提取出來。
  • PHP正則表達式的快速學習方法
    (最後一個例子),就是說模式(正則表達式)可以出現在被檢驗字符串的任何地方,你沒有把他鎖定到兩邊。你也可以在大括號裡面限制字符出現的個數,比如:「ab{2}」: 要求a後面一定要跟兩個b(一個也不能少)(」abb」);「ab{2,}」: 要求a後面一定要有兩個或者兩個以上b(如」abb」 「abbbb」 等);「ab{3,5}」: 要求a後面可以有2-5個b(」abbb」, 「abbbb」, or 「abbbbb」)。
  • 正則表達式和 CPU 100%有什麼故事?
    通過排查代碼,我們知道這個方法的主要功能是校驗 URL 是否合法。很奇怪,一個正則表達式怎麼會導致 CPU 利用率居高不下。為了弄清楚復現問題,我們將其中的關鍵代碼摘抄出來,做了個簡單的單元測試。NFA 對其解析的過程是這樣子的:首先,讀取正則表達式第一個匹配符 a 和 字符串第一個字符 a 比較,匹配了。於是讀取正則表達式第二個字符。讀取正則表達式第二個匹配符 b{1,3} 和字符串的第二個字符 b 比較,匹配了。
  • 正則表達式 – 匹配規則
    正則表達式 - 匹配規則基本模式匹配一切從最基本的開始。模式,是正規表達式最基本的元素,它們是一組描述字符串特徵的字符。模式可以很簡單,由普通的字符串組成,也可以非常複雜,往往用特殊的字符表示一個範圍內的字符、重複出現,或表示上下文。
  • 帶您一小時玩轉正則表達式
    在日常開發中我們經常會對用戶輸入的數據進行校驗、對字符串進行提取或者替換,這時候往往會使用正則來實現,那麼今天我給大家分享下正則表達式的一些知識。一、什麼是正則表達式正則表達式是一種描述字符串結果的語法規則,是一個特定的格式化模式,可以匹配、替換、截取匹配的字符串。
  • 正則表達式與神經網絡的深度融合
    在這篇論文中,我們提出了直接由正則表達式轉化而來的神經網絡:FA-RNN (Finite Automata - Recurrent Neural Networks),將其使用在文本分類任務上,使得基於 FA-RNN 的系統在未經訓練的情況下與正則表達式文本分類系統有著相似的準確率。同時,FA-RNN 兼備神經網絡可訓練、可泛化的優點。
  • 在JavaScript字符串的search()方法中,如何匹配正則表達式?
    第二節:正則表達式特點正則表達式是由字符串組成的。正則表達式只是一種搜索模式或匹配模式。對於具體的字符串,需要經過正則表達式的計算後,形成一個值來判斷是否匹配上。正則表達式可簡單,可複雜,需要根據語法定義模式。在各個程式語言中,也會推出一些與正則表達式相關的輔助操作,如替找操作等。
  • linux - grep常用正則表達式,過濾文本內容
    正則表達式正則表達式就是一套處理大量的字符串而定義的規則和方法。通過正則表達式這些特殊字符號,可以快速的過濾、替換需要的內容。{n} :N次{,m} :最多m次,少了不限。顯示匹配顏色 -n 顯示行號測試測試內容:word1word2word3word4word5word1word1word1word1pppppppptp獲取空行(加上-n查看空行是哪幾行
  • 新手上路:圖文解讀助你理解和使用正則表達式
    選自janmeppe.com作者:Jan Meppe機器之心編譯參與:韓放、杜偉這篇博客是關於正則表達式(regex)的插圖指南,旨在為那些從來沒有使用過正則表達式,想嘗試但又望而生畏的新手提供一個簡單介紹。