Python基礎-re正則模組

來源:互聯網
上載者:User

標籤:數字   dff   元字元   mat   re模組   返回結果   split()   使用   分割   

一、簡介:
Regex:是一種小型的、高度專業化的程式設計語言,(在Python中)它內嵌在Python中,並通過re模組實現,Regex模式被編譯成
一系列的位元組碼,然後由用C編寫的匹配引擎執行。

二、字元匹配(一般字元、元字元)
一般字元:
元字元:. ^ $ * + ? { } [ ] | ( ) \

\後邊跟元字元去除特殊功能
\後邊跟一般字元實現特殊功能

\d 匹配任何十進位數;相當於[0-9]
\D 匹配任何非數字字元;相當於[^0-9]
\s 匹配任何空白字元;相當於[ \t\n\r\f\v]
\S 匹配任何非空白字元;相當於[^ \t\n\r\f\v]
\w 匹配任何字母數字字元;相當於[a-zA-Z0-9_]
\W 匹配任何非字母數字字元;相當於[^a-zA-Z0-9_]
\b 匹配一個單詞邊界,比如空格,&,#等

import re匹配第一個滿足的結果print(re.search(‘fansik‘, ‘fansik,,,,,fansik‘).group())匹配手機號:print(re.findall(‘^0?1[3|4|5|8][0-9]\d{8}$‘, ‘13141466177‘))為分組取名字print(re.search(‘(?P<id>\d{3})/(?P<name>\w{3})‘, ‘asfda521/dfdsfaa‘).group(‘id‘))print(re.search(‘(?P<id>\d{3})/(?P<name>\w{3})‘, ‘asfda521/dfdsfaa‘).group(‘name‘))取消組的優先順序print(re.findall(‘www.(\w+).com‘, ‘www.baidu.com‘))# 執行結果:[‘baidu‘]
print(re.findall(‘www.(?:\w+).com‘, ‘www.baidu.com‘))# 取消優先順序後的執行結果:[‘www.baidu.com‘]

Regex的方法:
findall():所有結果都返回到一個列表裡
search():返回匹配到的第一個對象(object),對象可以調用group()返回結果
match():只在字串開始匹配匹配
print(re.match(‘fansik‘, ‘fansikfanjinbao‘).group())
split():以指定字元分割字串
print(re.split(‘ma‘, ‘fansikmafanjinbaomazhansanmalisi‘))執行結果:[‘fansik‘, ‘fanjinbao‘, ‘zhansan‘, ‘lisi‘]re.sub():字元替換print(re.sub(‘ma‘, ‘df‘, ‘fansikmafanjinbaomazhansanmalisi‘))執行結果:fansikdffanjinbaodfzhansandflisire.comile():編譯一個規則,使用與該規則被反覆使用的情況下obj = re.compile(‘\.com‘)print(obj.findall(‘fansik.com‘))
常用的匹配規則
手機:/^0?1[3|4|5|8][0-9]\d{8}$/
固話:/^0[\d]{2,3}-[\d]{7,8}$/
電子郵箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/
使用者名稱:/^[a-z0-9_-]{3,16}$/
密碼:/^[a-z0-9_-]{6,18}$/
URL:/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

Python基礎-re正則模組

聯繫我們

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