在python開發爬蟲過程中經常會遇到正規表示式,其中(.*?) 的使用概率較高,那麼這個正規表示式到底什麼意思呢?
「.*?」 表示非貪心演算法,表示要精確的配對。
「.*」表示貪心演算法,表示要盡可能多的匹配
「()」 表示要獲取括弧之間的資訊。
用乙個例子來說明一下。
importre
a= 'xxixxjshdxxlovexxsffaxxpythonxx'
infos = re.findall(
'xx(.*?)xx'
, a)
(infos)
此時字串的解析結果應該為:
xxixx
jshd
xxlovexx
sffa
xxpythonxx
符合檢索條件的為:
xxixx
xxlovexx
xxpythonxx
由於只需要獲取() 之間的資料,所以最終的結果為:
['i', 'love', 'python']
如果使用「.*」表示式,則反饋 去掉頭尾xx 之間的全部資料。
['ixxjshdxxlovexxsffaxxpython']
python中正規表示式
python中正規表示式語法與linux中的相容 檢視正規表示式 python提供re模組,包含所有正規表示式的功能。由於python的字串本身也用 轉義,所以要特別注意 s abc 001 python的字串 對應的正規表示式字串變成 abc 001 建議使用python的r字首,就不用考慮轉義的...
Python 中 正規表示式
一 最近要對字串執行很多操作,所以學了正規表示式 不得不說正規表示式對字串的操作還是很給力的 runoob上面的教程 python中的正規表示式 正規表示式教程 python中要使用正規表示式,首先要匯入re模組 import re 二 常用函式 或者說方法 re.match 作用 嘗試從字串的起始...
Python中正規表示式
python re模組正規表示式中常用的字元有兩類 普通字元和11個元字元,元字元表示特定的功能,比如下面的 被括起來的表示式將作為分組,從表示式左邊開始每遇到乙個分組的左括號 編號 1。分組表示式作為乙個整體,可以後接數量詞。表示式中的 僅在該組中有效。那麼我們想匹配表示式中的 字元怎麼辦呢?通過...