python正則表達式(3)--match方法

1.re.match函數

re.match 嘗試從字符串的起始位置匹配一個模式,若是不是起始位置匹配成功的話,match()就返回None。正則表達式

(1)函數語法

  re.match(pattern, string, flags=0)

  函數參數說明:

    pattern   匹配的正則表達式ide

    string      要匹配的字符串函數

    flgs         標誌位,用於控制正則表達式的匹配方式spa

  咱們能夠使用group(num) 或 groups() 匹配對象函數來獲取匹配表達式。

    group(num=0)   獲取匹配結果的各個分組的字符串,group() 能夠一次輸入多個組號,此時返回一個包含那些組所對應值的元組。code

    groups()            返回一個包含全部分組字符串的元組。對象

    注意:若是未匹配成功,match()返回值爲None,此時再使用group()、groups()  方法會報錯。字符串

         應該先獲取匹配對象,而後判斷匹配對象是否非空,當非空時在使用group()、groups()  方法獲取匹配結果。見實例2
string

(2)實例

    例1

    import re
    print(re.match(r'How', 'How are you').span())   # 在起始位置匹配
    print(re.match(r'are', 'How are you'))                # 不在起始位置匹配

    以上輸出結果爲:it

  (0, 3) None

    例2

 import re
 content = '577 zeke'
 result = re.match(r'[a-z]\d' , content)
 if result:
   print result.group()
 else:
   print 'No match!'

 以上執行結果以下:
編譯

 No match!

2.pattern.match方法

(1) 函數語法

  pattern.match( string, pos=0, endpos=len(string))

  函數做用:

    這個方法將在字符串string的pos位置開始 嘗試匹配pattern(pattern就是經過 re.compile()方法編譯後返回的對象),如 果pattern匹配成功,不管是否達到結束位 置endpos,都會返回一個匹配成功後的 Match對象;

    若是匹配不成功,或者 pattern未匹配結束就達到endpos,則返回 None。

  函數參數說明:

    string:被匹配的字符串 

    pos:匹配的起始位置,可選,默認爲0

    endpos:匹配的結束位置,可選,默認爲 len(string)

3. re.match和pattern.match區別

  re.match方法與pattern.match()方法 區別在於,它不能指定匹配的區 間pos和endpos兩個參數

相關文章
相關標籤/搜索