Python常用Regex符號淺析

來源:互聯網
上載者:User
對Python中Regex的理解,主要就是對符號的理解,本文即對Python中常用的Regex符號進行簡析。其主要的符號有:

.
預設匹配一個字元,不包含分行符號,如果設定DOTALL則匹配分行符號

^
匹配行首

$
匹配行尾

*
匹配0個或者多個重複


匹配一個或者多個重複


匹配一個或者零個重複

*?,+?,??
按照非貪婪模式比對

{m},{m,n},{m,n}?
分別匹配m個重複,m至n個重複,m至n個重複按照非貪婪模式

\
轉義

[]
[abc],[a-z][^a-z]
|
或者匹配 'a|b'
(...)
匹配組

(?iLmsux)(?:...) (?P...)>>> re.match('(?Pabc){2}','abcabc').groupdict(){'name': 'abc'}(?P=name)>>> re.match(r'(?Pabc)----(?P=name)','abc----abc').group()'abc----abc'(?#...) #後面的內容為注釋(?=...)

匹配的字串後面的內容需要匹配

>>> re.match(r'phone(?=\d{3})','phone123').group()'phone'#(?!...)

匹配的字元後面內容不能匹配

>>> re.match(r'phone(?!\d{3})','phoneabc123').group()'phone'(?<=...)

匹配的字串前面需要匹配

(?

(?(id/name)yes-pattern|no-pattern)
\number
\A 匹配字串的開頭
\b 匹配單詞邊界

\B
\b的反義

\d 表示[0-9]
\D表示 [^0-9]
\s表示 [ \t\r\n\f\v]
\S 為非空白字元
\w等價於 [a-zA-Z0-9]
\W \w的反義

\Z 匹配字串的結束

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.