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


1.re.match函數

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

(1)函數語法

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

  函數參數說明:

    pattern   匹配的正則表達式

    string      要匹配的字符串

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

  我們可以使用group(num) 或 groups() 匹配對象函數來獲取匹配表達式。

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

    groups()            返回一個包含所有分組字符串的元組。

    注意:如果未匹配成功,match()返回值為None,此時再使用group()、groups()  方法會報錯。

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

(2)實例

    例1

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

    以上輸出結果為:

  (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兩個參數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM