掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

定義
正則表達(dá)式是一個特殊的字符序列,能方便的檢查一個字符串是否與某種模式匹配。RE模塊使得python擁有全部的正則表達(dá)式功能。
用途
通過使用正則表達(dá)式,可以:
測試字符串內(nèi)的模式?!?例如,可以測試輸入字符串,以查看字符串內(nèi)是否出現(xiàn)電話號碼模式或信用卡號碼模式。這稱為數(shù)據(jù)驗(yàn)證。
替換文本?!?可以使用正則表達(dá)式來識別文檔中的特定文本,完全刪除該文本或者用其他文本替換它。
基于模式匹配從字符串中提取子字符串。—— 可以查找文檔內(nèi)或輸入域內(nèi)特定的文本。
模式
貪婪模式和非貪婪模式
正則表達(dá)式通常使用于查找匹配字符串。python里數(shù)量詞默認(rèn)是貪婪的,總是嘗試匹配盡可能多的字符;非貪婪模式正好相反,總是嘗試匹配盡可能少的字符。(更多學(xué)習(xí)內(nèi)容,請點(diǎn)擊python學(xué)習(xí)網(wǎng))
導(dǎo)入方法
import re
在python中默認(rèn)采用的是貪婪模式,使用非貪婪模式的話,只需要在量詞后面直接加上一個問號”?”。
例子當(dāng)中已經(jīng)匹配到了“ab”時已經(jīng)可以使整個表達(dá)式匹配成功,但是由于采用的是貪婪模式,所以還需要往后繼續(xù)匹配,一直到匹配到最后一個”b”的時候,后面已經(jīng)沒有可以成功匹配的字符串了,匹配結(jié)束。返回匹配結(jié)果“abbbbbb”。 所以,我們可以將貪婪模式理解為:在整個表達(dá)式匹配成功的前提下,盡可能多的匹配。
非貪婪模式也就是將我們例子中的正則表達(dá)式“ab+”改為”ab+?”,當(dāng)匹配到“ab”時,已經(jīng)匹配成功,直接結(jié)束匹配,不在向后繼續(xù)嘗試,返回匹配成功的字符串”ab”。
所以,我們可以將非貪婪模式理解為:在整個表達(dá)式匹配成功的前提下,盡可能少的匹配。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流