1. 程式人生 > >Python-正則表示式總結版

Python-正則表示式總結版

前言:

總是寫不好正則表示式,時間長不用就有些忘記了,故此在總結一篇文章以便日後查閱。

一、常用的匹配規則總結表

模式 描述
\w 匹配字母數字及下劃線
\W 匹配非字母數字及下劃線
\s 匹配任意空白字元,等價於 [\t\n\r\f].
\S 匹配任意非空字元
\d 匹配任意數字,等價於 [0-9]
\D 匹配任意非數字
\A 匹配字串開始
\Z 匹配字串結束,如果是存在換行,只匹配到換行前的結束字串
\z 匹配字串結束
\G 匹配最後匹配完成的位置
\n 匹配一個換行符
\t 匹配一個製表符
^ 匹配字串的開頭
$ 匹配字串的末尾
. 匹配任意字元,除了換行符
[...] 用來表示一組字元,單獨列出:[amk] 匹配 'a','m' 或 'k'
[^...] 不在 [] 中的字元:[^abc]匹配除了 a,b,c 之外的字元。
* 匹配 0 個或多個的表示式。
+ 匹配 1 個或多個的表示式。
? 匹配 0 個或 1 個由前面的正則表示式定義的片段,非貪婪方式
{n} 精確匹配 n 個前面表示式。
{n, m} 匹配 n 到 m 次由前面的正則表示式定義的片段,貪婪方式
a \| b 匹配 a 或 b
( ) 匹配括號內的表示式,也表示一個組

二、re庫中常用方法

函式 描述
re.match(pattern, string, flags=0) 嘗試從字串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none
re.search(pattern, string, flags=0) 掃描整個字串並返回第一個成功的匹配
re.sub(pattern, repl, string, count=0) 用於替換字串中的匹配項,repl : 替換的字串,也可為一個函式
re.compile(pattern[, flags]) 用於編譯正則表示式,生成一個正則表示式( Pattern )物件,供 match() 和 search() 這兩個函式使用
findall(string[, pos[, endpos]]) 在字串中找到正則表示式所匹配的所有子串,並返回一個列表,如果沒有找到匹配的,則返回空列表
re.split(pattern, string[, maxsplit=0, flags=0]) 能夠匹配的子串將字串分割後返回列表

三、修飾符總結

修飾符 描述
re.I 使匹配對大小寫不敏感
re.L 做本地化識別(locale-aware)匹配
re.M 多行匹配,影響 ^ 和 $
re.S 使 . 匹配包括換行在內的所有字元
re.U 根據Unicode字符集解析字元。這個標誌影響 \w, \W, \b, \B.
re.X 該標誌通過給予你更靈活的格式以便你將正則表示式寫得更易於理解。

取值可以使用按位或運算子'|'表示同時生效,比如re.I | re.M。

四、常用正則表示式

1、匹配email地址:
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

2、匹配網址URL:
[a-zA-z]+://[^\s]*

3、匹配18位身份證號:
^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$

4、匹配年月日格式:
([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))

5、匹配整數:
^-?[1-9]\d*$

6、匹配正整數:
^[1-9]\d*$

7、匹配負整數:
^-[1-9]\d*$

8、匹配空白行:
\n\s*\r

以上,對你有幫助的話就點贊❤️吧~

相關推薦

Python-表示式總結

前言: 總是寫不好正則表示式,時間長不用就有些忘記了,故此在總結一篇文章以便日後查閱。 一、常用的匹配規則總結表 模式 描述 \w 匹配字母數字及下劃線 \W 匹配非字母數字及下劃線 \s 匹配任意空白字元,等價於 [\t\n\r\f]. \S 匹配任意非空字元 \d 匹配任意

python~表示式總結

目錄 pattern物件的屬性 flags屬性: groups屬性: groupindex屬性: Match物件的屬性 string 屬性: re屬性: pos屬性: endpos屬性: lastindex屬性: lastgroup屬性: grou

python~表示式總結

目錄 編譯正則表示式 re.compile(pattern,flags=0) pattern.match pattern.search pattern.findall 1.正則表示式無圓括號 2.正則表示式中含有1個圓括號 3.正則表示式中含有多個圓括號 pa

python~表示式總結

目錄 正則表示式總結 1.正則表示式模式 2.特殊表示式含義 2.1 .(點) 2.2 \(斜槓) 2.3 [...](方括號) 2.4 [^...] 2.5 ^ 2.6 \d 2.7 \D 2.8 \s 2.9 \S 2.10 \w 2.

python表示式總結

1. 正則表示式語法  1.1 字元與字元類    1 特殊字元:\.^$?+*{}[]()|      以上特殊字元要想使用字面值,必須使用\進行轉義    2 字元類        1. 包含在[]中的一個或者多個字元被稱為字元類,字元類在匹配時如果沒有指定量詞則只會匹配

表示式總結(JavaScript、python、PHP、golang、C++、java、C#)之彙總

第一種:JavaScript(ES6) A:分隔符: 例如:reg=/\d(.)\1/g  (切記:不能帶單引號和雙引號) X:ES6之新規則:s 修飾符:dotAll 模式 正則表示式中,點(.)是一個特殊字元,代表任意的單個字元,但是行終止符(line terminat

Python表示式的簡單應用和示例演示

前一陣子小編給大家連續分享了十篇關於Python正則表示式基礎的文章,感興趣的小夥伴可以點選連結進去檢視。今天小編給大家分享的是Python正則表示式的簡單應用和示例演示,將前面學習的Python正則表示式做一個概括。 下面的栗子是用於提取高考日期,一般來說,我們填寫日期都會寫2018年6月7日,但

Python表示式初識(九)

繼續分享Python正則表示式的基礎知識,今天給大家分享的特殊字元是[\u4E00-\u9FA5],這個特殊字元最好能夠記下來,如果記不得的話通過百度也是可以一下子查到的。 該特殊字元是固定的寫法,其代表的意思是漢字。換句話說,只要字元中是漢字,就可以通過該字元進行匹配,該特殊字元也是用中括號括起來的。

Python 表示式:compile,match

本文以匹配×××ID為例,介紹re模組的compile與match的用法 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化              +       

Python 表示式模組詳解

由於最近需要使用爬蟲爬取資料進行測試,所以開始了爬蟲的填坑之旅,那麼首先就是先系統的學習下關於正則相關的知識啦。所以將下面正則方面的知識點做了個整理。語言環境為Python。主要講解下Python的Re模組。 下面的語法我就主要列出一部分,剩下的在python官網直接查閱即可:docs.python.org

Python 表示式:search

本文介紹re模組的search的用法 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化              +         re.search(

Python | 表示式的常見用法

正則表示式的常見用法分為兩塊內容,第一部分是一般具有正則的高階語言都支援的功能,第二部分講解Python所獨特具備的正則特性。   Part 1 正則表示式是由普通字元(例如字元a到z)以及特殊字元(稱為“元字元”)組成的文字模式。模式用於在搜尋文字時要匹配一個或多個字串。

python 表示式找出字串中的純數字

1、簡單的做法 >>> import re >>> re.findall(r'\d+', 'hello 42 I'm a 32 string 30') ['42', '32', '30'] 然而,這種做法使得字串中非純數字也會識別 >

python 表示式 簡介

python 正則表示式 簡介 1.正則表示式:描述字串排列的一套規則 2.可以使用正則表示式提取出所有滿足規則的字串 3.在python中使用re模組是實現在python正則表示式的功能 正則表示式的基礎知識: 1.原子 2.元字元 3.模式修正 原子 :原子是正則表示式中最基

RE表示式總結(一)

一、概念         正則表示式,又稱規則表示式。(英語:Regular Expression,在程式碼中常簡寫為regex、regexp或RE),電腦科學的一個概念。正則表示式是對字元串(包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為“

Python 表示式:findall

本文以匹配×××IP為例,介紹re模組的findall的用法: 返回值->列表 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化              +      &

Python表示式:re模組

正則表示式: 使用單個字串來描述、匹配一系列匹配某個句法規則的字串正則表.通常被用來檢索、替換那些符合某個模式(規則)的文字.python自1.5起提供了re模組,它提供了perl風格的正則表示式. re模組簡介 re.match函式 功能 嘗試從字串的起始位置開始匹配一個模式,如

Python 表示式:sub

作用:替換字串中的某字串 本文以 ‘×××’掩蓋手機號部分數字 為例,介紹re模組的sub的用法: 返回值 -> 列表 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化              +&n

python表示式學習筆記

正則表示式 學習資源:https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md 正則表達例子: |    A|B 

python 表示式匹配特定浮點數

  def is_decimal(num): import re    #以數字開頭,小數點後保留1位數字或兩位數字或者沒有小數部分 dnumre = re.compile(r"""^[0-9]+(\.[0-9]{1,2})?$""") result = d