Python基礎文法 - Regex

來源:互聯網
上載者:User

標籤:Python3.6.5   re模組   

概述

Regex是一個特殊的字元序列,它常常用於檢查是否與某種模式比對。第八節課主要介紹了從以下幾方面介紹了PythonRegex的用法。
(1)re模組的使用
(2)字元匹配、數量表示、邊界表示
(3)Regex的進階用法
(4)貪婪與非貪婪模式

re模組

(一)match(Regex,待匹配字串)
(1)採用從左向右逐項匹配,從起始位置起。
(2)用於正則匹配檢查,如果“待匹配字串”能夠匹配“Regex”,則match方法返回匹配對象,否則返回None

import re #匯入re模組#從起始位置開始匹配rs = re.match("51cto", "51cto.com") print(rs)#不從起始位置開始匹配rs = re.match("cn", "51cto.com") 

運行結果:

<_sre.SRE_Match object at 0x02B33FA8>None

(二)group()方法 :用來返回字串的匹配部分

import rers = re.match("51cto", "51cto.com")print(rs.group())

運行結果:

51cto
字元匹配、數量表示、邊界表示

(一)單字元匹配

(1). 匹配除"\n"之外的任意單個字元

import rers = re.match(".","a")print(rs.group())rs = re.match(".","1")print(rs.group())rs = re.match("...","abc")    #多個字元print(rs.group())rs = re.match(".","\n")        #\n字元print(rs)

運行結果:

a1abcNone

(2)\s:匹配任意空白字元,如空格,定位字元“\t”,分行符號“\n”

import rers = re.match("\s","\t")print(rs)rs = re.match("\s","\n")print(rs)rs = re.match("\s"," ")print(rs)

(3)\S:匹配任意非Null 字元;和\s模式相反

rs = re.match("\S","\t")print(rs)rs = re.match("\S","abc")  #匹配單個字元,從起始位置print(rs.group())

運行結果:

Nonea

其他單字元匹配用法不一一列舉。
(二)數量表示

(1)* 出現次數 n >= 0

import rers = re.match("1\d*", "1234567")     #起始是1,後面int出現任意次print(rs.group())rs = re.match("1\d*", "1234567abc")     #起始是1,後面int出現任意次print(rs.group())

運行結果:

12345671234567

(三)邊界表示
(1)字串與單詞邊界
(2)匹配分組

Regex的進階用法貪婪與非貪婪模式作業題

奶茶館價格結算系統最佳化:
1、 使用Regex判斷顧客輸入的手機號是否符合手機號設定規則:
1) 以數字 1 開頭
2) 第二位為 3578 中的任一數字
3) 其餘 9 位為 0-9 任一數字
2、 輸出手機號電訊廠商,判斷規則:
? 行動電信業者:手機號前三位為 134、135、136、137、138、139、150、151、152、157、 158、159、178、182、183、184、187、188
? 聯通電訊廠商:手機號前三位為 130、131、132、155、156、176、185、186
? 電信電訊廠商:手機號前三位為 133、153、173、177、180、181、189、199

3、 使用Regex判斷輸入奶茶編號,如果不在 1-5 範圍內,輸出: Woops!我們只售賣以上五種奶茶哦!新口味敬請期待! 並將判斷過程設定為類中的方法。

Python基礎文法 - Regex

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.