python 30:增加正則表達(dá)式的可讀性,參數(shù)re.VERBOSE

可以將正則表達(dá)式分多行寫出,每一行后面寫上注釋,這樣使復(fù)雜正則表達(dá)式具有可讀性。下面是一個(gè)匹配電話號(hào)碼的例子:

phoneRegex = re.compile(r'''( (\d{3}|\(\d{3}\))? # area code

(\s|-|\.)? # separator

\d{3} # first 3 digits

(\s|-|\.) # separator

\d{4} # last 4 digits

(\s*(ext|x|ext.)\s*\d{2,5})? # extension

)''',re.VERBOSE)

注意,后面要加上參數(shù)re.VERBOSE。

第一個(gè)參數(shù),正則表達(dá)式,寫在r'''()'''中的括號(hào)中。

可以按意義,分部分寫。一部分寫一行,后面加上注釋。執(zhí)行時(shí),注釋會(huì)被忽略。同時(shí),多余的空白也會(huì)被忽略。如果用以前的方式寫,則不小心寫的空白,可能會(huì)改變正則表達(dá)式的意義。

下面看這個(gè)正則表達(dá)式匹配實(shí)例。

>>> mo=phoneRegex.search('111-123.2345')

>>> mo.group()

'111-123.2345'

>>> mo=phoneRegex.search('(111) 123.2344')

>>> mo.group()

'(111) 123.2344'

>>> mo=phoneRegex.search('(111).123.2344')

>>> mo.group()

'(111).123.2344'

>>> mo=phoneRegex.search('(111).123.2344 ext1234')

>>> mo.group()

'(111).123.2344 ext1234'

>>> mo=phoneRegex.search('(111).123.2344 x1234')

>>> mo.group()

'(111).123.2344 x1234'

>>> mo=phoneRegex.search('(111).123.2344 ext.1234')

>>> mo.group()

'(111).123.2344 ext.1234'

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容