今天就跟大家聊聊有關(guān)怎么進(jìn)行Python正則表達(dá)式分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
興隆臺(tái)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!
今天寫(xiě)爬蟲(chóng)偶然想到了初學(xué)正則表達(dá)式時(shí)候,看過(guò)一篇文章非常不錯(cuò)。檢索一下還真的找到了。
re模塊
re.search
經(jīng)常用match = re.search(pat, str)的形式。因?yàn)橛锌赡芷ヅ洳坏?,所以re.search()后面一般用if statement。
re.match
re.match和re.search很相似,只是re.match是從字符串的開(kāi)頭開(kāi)始匹配。
常用正則字符意義
a, X, 9,等字符匹配自己, 元字符不匹配自己,因?yàn)橛刑厥庖饬x,比如 . ^ $ * + ? { }[ ] \ | ( )
. 英文句號(hào),匹配任意字符,不包含'\n'
\w 匹配'word'字符,[a-zA-Z0-9]
\W 匹配非'word'字符
\b 匹配'word'和'non-word'之間邊界
\s 匹配單個(gè)whitespace字符,space, newline, return, tab, form [\n\r\t\f]
\S 匹配non-whitespace字符
\t, \n, \r 匹配tab, newline, return
\d 匹配數(shù)字[0-9]
^ 匹配字符串開(kāi)頭
$ 匹配字符串結(jié)尾
重復(fù)
‘+’ 一或多次, ‘*’ 零或多次, ‘?’ 零或一次
方括號(hào)[]
[]類似于or
Square brackets can be used to indicate a set of chars, so [abc] matches 'a' or 'b' or 'c'.
Group Extraction圓括號(hào)()
有時(shí)候需要提取匹配字符的一部分,比如剛才的郵箱,我們可能需要其中的username和hostname,這時(shí)候可以用()分別把username和hostname包起來(lái),就像r'([\w.-]+)@([\w.-]+)',如果匹配成功,那么pattern不改變,只是可以用match.group(1)和match.group(2)來(lái)username和hostname,match.group()結(jié)果不變。
findall and groups
()和findall()結(jié)合,如果包括一或多個(gè)group,就返回a list of tuples。
給re.search加^之后是一樣的。
re.sub
re.sub(pat, replacement, str)在str里尋找和pattern匹配的字符串,然后用replacement替換。replacement可以包含\1或者\(yùn)2來(lái)代替相應(yīng)的group,然后實(shí)現(xiàn)局部替換。
看完上述內(nèi)容,你們對(duì)怎么進(jìn)行Python正則表達(dá)式分析有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。