python之Regex

來源:互聯網
上載者:User

標籤:表達   使用   邏輯或   開頭   重複   閉包   第一個字元   bcd   組成   

1)

用管道符號(|)匹配多個Regex

舉例 

at | home     匹配 at, home

 

2)

匹配任意一個單個的字元(.)

舉例

f.o  匹配在“f”和"o"中間的任何字元,如fao, f9o, f#o等

 

3)

從字元穿的開頭或結尾或單詞邊界開始匹配(^/$/\b\B)

\b匹配的模式是一個單詞邊界,與之對應的模式一定在一個單詞的開頭;

\B只匹配出現在一個單詞中間的模式,即不在單詞邊界上的字元。

舉例

^From  匹配任何以From開始的字串

/bin/tcsh$ 匹配任何以/bin/tcsh結束的字串

^subject: hi$ 匹配僅由subject: hi組成的字串

the   任何包含有“the”的字串

\bthe 任何以“the”開始的字串

\bthe\b 僅匹配單詞“the”

 

4)建立字元類([])

使用方括弧的Regex會匹配方括弧裡的任何一個字元。

方括弧只有邏輯或的功能。

舉例:

b[aeiu]t  匹配字串 bat, bet, bit, but

[cr][23][dp][o2] 匹配字串有16個組合,先[cr]選一個,接著[23]選一個,......,最後[o2]選一個。

 

5)指定範圍(-)和否定(^)

方括弧裡一對符號中間的連字號(-)用來表示一個字元的範圍。如[0-9],匹配十進位數

左方括弧後第一個字元是上箭頭符號(^),表示不匹配製定字元集裡的任一字元。如[^aeiou],匹配一個非母音字元

 

6)使用閉包操作符(*, +, ? {})實現多次出現/重複匹配

*:  匹配它左邊那個Regex出現0次或0次以上的情況;

+: 匹配它左邊那個Regex至少出現一次的情況;

?:   匹配它左邊那個Regex模式出現0次或一次的情況。

{}: 如{M}表示匹配M次出現的情況,{M,N}表示匹配M次到N次出現的情況。

[dn]ot? 匹配最多有一個字元“t”,即 do, no, dot, not.

[0-9]{15, 16} 匹配15或者16位元字,例如信用卡號碼

</?[^>]+> 匹配所有合法的HTML標籤的字串,即<...>、</...>。

 

7)特殊字元   

一些特殊字元可以用來代表字元集合。

\d:  表示[0-9]

\w: 表示[A-Za-z0-9]

\s:  表示空白字元

\D:  表示非十進位數位字元,即[^0-9]

舉例:

\w+-\d+ 表示一個字母和數字組成的字串和至少一個數字,例如:ABCD-9

\d{3}-\d{3}-\d{4} 例如 800-555-1212

\[email protected]\w+\.com 例如[email protected]

 

8)用圓括弧(())組建組

我們不僅想知道是否整個字串匹配Regex,還想在匹配成功時取出某個特定的字串或子字串。

()的功能:

對Regex進行分組

匹配子組

舉例:

m = re.match(‘(a(b))‘, ‘ab‘) 兩個子組

m.group() 所有匹配部分

m.group(1) 匹配的子組1 輸出‘ab’

m.group(2) 匹配的子組2 輸出‘b‘

m.groups() 所有匹配的子組的元組 輸出 (‘ab‘, ‘b‘)

 

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.