您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Re模塊怎么支持python爬蟲的正則表達式的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
Python 自帶了 re 模塊,它提供了對正則表達式的支持。主要用到的方法列舉如下
#返回pattern對象 re.compile(string[,flag]) #以下為匹配所用函數 re.match(pattern, string[, flags]) re.search(pattern, string[, flags]) re.split(pattern, string[, maxsplit]) re.findall(pattern, string[, flags]) re.finditer(pattern, string[, flags]) re.sub(pattern, repl, string[, count]) re.subn(pattern, repl, string[, count])
本篇文章以兩個最常用的方法進行舉例介紹
1.re.match(pattern, string[, flags])
這個方法將會從 string(我們要匹配的字符串)的開頭開始,嘗試匹配 pattern,一直向后匹配,如果遇到無法匹配的字符,立即返回 None,如果匹配未結束已經到達 string 的末尾,也會返回 None。兩個結果均表示匹配失敗,否則匹配 pattern 成功,同時匹配終止,不再對 string 向后匹配。下面我們通過一個例子理解一下
__author__ = 'CQC' # -*- coding: utf-8 -*- #導入re模塊 import re # 將正則表達式編譯成Pattern對象,注意hello前面的r的意思是“原生字符串” pattern = re.compile(r'hello') # 使用re.match匹配文本,獲得匹配結果,無法匹配時將返回None result1 = re.match(pattern,'hello') result2 = re.match(pattern,'helloo CQC!') result3 = re.match(pattern,'helo CQC!') result4 = re.match(pattern,'hello CQC!') #如果1匹配成功 if result1: # 使用Match獲得分組信息 print result1.group() else: print '1匹配失敗!' #如果2匹配成功 if result2: # 使用Match獲得分組信息 print result2.group() else: print '2匹配失敗!' #如果3匹配成功 if result3: # 使用Match獲得分組信息 print result3.group() else: print '3匹配失敗!' #如果4匹配成功 if result4: # 使用Match獲得分組信息 print result4.group() else: print '4匹配失敗!'
運行結果
hello hello 3匹配失敗! Hello
2.re.search(pattern, string[, flags])
search 方法與 match 方法極其類似,區別在于 match () 函數只檢測 re 是不是在 string 的開始位置匹配,search () 會掃描整個 string 查找匹配,match()只有在 0 位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match () 就返回 None。同樣,search 方法的返回對象同樣 match () 返回對象的方法和屬性。我們用一個例子感受一下
#導入re模塊 import re # 將正則表達式編譯成Pattern對象 pattern = re.compile(r'world') # 使用search()查找匹配的子串,不存在能匹配的子串時將返回None # 這個例子中使用match()無法成功匹配 match = re.search(pattern,'hello world!') if match: # 使用Match獲得分組信息 print match.group() ### 輸出 ### # world
感謝各位的閱讀!關于Re模塊怎么支持python爬蟲的正則表達式就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。