Python3 正則表達式 re.match函數
阿新 • • 發佈:2018-09-21
col 字符 根據 re模塊 else 生成 功能 幫助 perl
例子1
正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。
Python 1.5版本增加了re模塊,提供了Perl風格的正則表達模式。
re模塊讓Python語言擁有全部的正則表達式功能。
compile 函數根據一個模式字符串和可選的標誌參數生成一個正則表達式對象。該對象擁有一系列方法用於正則表達式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數,這些函數使用一個模式字符串做為它們的第一個參數。
re.match函數
re.match嘗試從字符串起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none.
函數語法:
re.match(pattern, string, flags=0)
pattern 匹配正則表達式
string 要匹配的字符串
flags 標誌位,用於控制正則表達式匹配方式,例如:是否區分大小寫,多行匹配等等。
匹配成功re.match方法返回一個匹配對象,否則返回None
我們可以使用group(num)或groups()匹配對象函數來獲取匹配表達式。
匹配對象方法 | 描述 |
group(num=0) | 匹配的整個表達式的字符串,group()可以一次輸入多個組號,在這種情況下它將返回一個包含那些組對應值的元組。 |
groups |
返回一個包含所有小組字符串的元組,從1到 所含的小組號 |
import re print(re.match(‘www‘,‘www.siit.com‘).span()) #起始位置匹配 print(re.match(‘com‘,‘www.siit.com‘)) #不在起始位置
輸出:
(0, 3) None
例子2
import re line = "who are your ? dog?" matchObj = re.match(r‘(.*) are (.*?) .*‘, line, re.M|re.I) if matchObj: print("matchObj.group():",matchObj.group()) print("matchObj.group(1):",matchObj.group(1)) print("matchObj.group(2):",matchObj.group(2)) else: print("No match!!")
輸出:
matchObj.group(): who are your ? dog? matchObj.group(1): who matchObj.group(2): your
Python3 正則表達式 re.match函數