首頁 >後端開發 >Python教學 >Python正規表示式詳解,告訴你Python正規表示式是什麼?

Python正規表示式詳解,告訴你Python正規表示式是什麼?

Tomorin
Tomorin原創
2018-08-15 13:52:522102瀏覽

Python正規表示式是一個特殊的字元序列,它能幫助你方便的檢查一個字串是否與某種模式匹配,本文會對Python正規表示式詳解告訴你正規表示式在python中運用的非常多,因為他可以進行任意的匹配,可以匹配我們想要提取的資訊。當我們接觸Python正規的時候你就會知道正規的強大。正規有一個庫re 在一些工程中我們會經常調用正規的庫來做與匹配相關的問題。

字串是程式設計時涉及到的最多的一種資料結構,對字串進行操作的需求幾乎無所不在。例如判斷一個字串是否是合法的Email地址,雖然可以編程提取 @ 前後的子串,再分別判斷是否是單字和域名,但這樣做不但麻煩,而且代碼難以復用。

正規表示式是一種用來匹配字串的強而有力的武器。它的設計思想是用一種描述性的語言來為字串定義一個規則,凡是符合規則的字串,我們就認為它「匹配」了,否則,該字串就是不合法的。

所以我們判斷一個字串是否是合法的Email的方法是:

1.建立一個符合Email的正規表示式;

2.用該正規表示式去匹配使用者的輸入來判斷是否合法。

因為正規表示式也是用字串表示的,所以,我們要先了解如何用字元來描述字元。

在正規表示式中,如果直接給出字符,就是精確匹配。用\d 可以匹配一個數字, \w 可以匹配一個字母或數字,所以:

 '00\d' 可以匹配'007' ,但無法匹配'00A' ;

• '\d\d\d' #可以符合'010';

• '\w\w\d'可以配對'py3' ;

.

 可以匹配任意字符,所以: 
 'py.'可以匹配'pya' 、 'pyb' 、 'py!' 等等。

要匹配變長的字符,在正規表達式中,用* 表示任意個字符(包括0個),用表示至少一個字符,用? 表示0個或1個字符,用{n } 表示n個字符,用{n,m} 表示n-m個字符:

來看一個複雜的例子: \d{3}\s \d{3,8} 。

我們來從左到右解讀一下:

1. \d{3}表示符合3個數字,例如'010' ;

2. \s 可以符合一個空格(也包括Tab等空格符),所以\s 表示至少有一個空格,例如匹配' ' , ' ' 等;

3. \d{3,8}表示3-8個數字,例如'1234567' 。

綜合起來,上面的正規表示式可以符合以任一空格隔開的帶區號的電話號碼。

Python正規表示式詳解,告訴你Python正規表示式是什麼?

以上是Python正規表示式詳解,告訴你Python正規表示式是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn