Python學習記錄之:正則表達式

\d 匹配一個數字
\w 匹配一個字母或數字
. 匹配任意字符
* 表示任意個字符(包括0個)
+ 表示至少一個字符
? 表示0個或1個字符
{n} 表示n個字符
{n,m} 表示n-m個字符
[] 表示范圍
A|B 可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'
^ 表示行的開頭,^\d表示必須以數字開頭
$ 表示行的結束,\d$表示必須以數字結束

# coding=utf-8
import re

print re.match(r'^\d{3}-\d{3,8}$', '010-12345')
print re.match(r'^\d{3}-\d{3,8}$', '010 12345')

# match()方法判斷是否匹配,如果匹配成功,返回一個Match對象,否則返回None
if re.match(r'^\d{3}-\d{3,8}$', '010-12345'):
    print 'OK'
else:
    print "Failed"

print 'a b    c'.split(' ')  # 會輸出空格
print re.split('\s+', 'a b    c')  # 不會輸出空格
print re.split(r'[\s,]+', 'a,b, c  d')  # []匹配一組字符

# 使用()對表達式進行分組
m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
print m.group(0)
print m.group(1)
print m.group(2)

# 預編譯表達式
re_telephone = re.compile(r'^(\d{3})-(\d{3,8})$')
print re_telephone.match('010-12345').groups()
print re_telephone.match('010-8086').groups()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • re模塊手冊 本模塊提供了和Perl里的正則表達式類似的功能,不關是正則表達式本身還是被搜索的字符串,都可以...
    喜歡吃栗子閱讀 4,050評論 0 13
  • \ :將下一字符標記為特殊字符、文本、反向引用或八進制轉義符。例如,"n"匹配字符"n"。"\n"匹配換行符。序列...
    小沙鷹168閱讀 559評論 0 1
  • 正則表達式到底是什么東西?字符是計算機軟件處理文字時最基本的單位,可能是字母,數字,標點符號,空格,換行符,漢字等...
    獅子挽歌閱讀 2,175評論 0 9
  • 初衷:看了很多視頻、文章,最后卻通通忘記了,別人的知識依舊是別人的,自己卻什么都沒獲得。此系列文章旨在加深自己的印...
    DCbryant閱讀 4,065評論 0 20
  • 迷迷糊糊中,似乎聽到了腳步聲。那聲音越來越接近我的臥室。還沒等我從夢中徹底清醒過來,門吱呀一聲開了,一個黑影站在...
    玫蘭妮閱讀 721評論 0 0