Pythonの正規表現は、単にreモジュールを使います

それはデータを抽出したり、爬虫類が頻繁に時間を行うために使用されている正規表現であるかどうか、再モジュールで、次の一般的な使用は語りました。

文字列ではなく、成功したマッチ、マッチ()Noneを返した場合、開始位置の開始位置から、パターンに一致してみてくださいre.match。

関数のシンタックス

マッチパターン文字列フラグ= 0  
輸入

TODOのre.matchの使用、最初に一致した文字列から始まる 
コンテンツ= こんにちは123 4567 World_this A REGEXデモ
文字列マッチングの^ TODOの始まり、文字列の末尾に$のマッチング 
結果を= re.match(" ^こんにちは\ S \ {D} 3 \ S \ 4 {D} \ S \ 10 {W} $ *デモ' 、コンテンツ)
 プリント(結果)
 #1 TODO一致範囲戻り
プリント(result.span())
TODOリターンマッチング結果を
印刷(result.group())

TODO泛匹配 
結果= re.match(' ^こんにちは。*デモ$ ' 、コンテンツ)
 プリント(result.group())

#のターゲットTODOマッチング 
結果を= re.match(' ^こんにちは\ S(\ + D)\ S(\ + D)\ sWorld。* $デモ' 、コンテンツ)
 を印刷(result.group(1)、result.group(2 ))

#のTODO貪欲、できるだけ多くの文字に一致する 
結果= re.match(' ^彼の。*(\ D +)。* $デモ' 、コンテンツ)
 を印刷(result.group(1 ))

TODO。*?非貪欲マッチング、などなどいくつかの文字に一致する 
結果= re.match(' ^彼の。*?(\ D +)。*デモ$ ' 、コンテンツ)
 を印刷(result.group(1 ))

内容 = ''」こんにちは1234567 World_this
正規表現のデモです「」」

TODOパターンマッチング、re.Sマッチングラップ 
結果re.match =(' ^彼の。*?(\ + D)。*?デモ$ ' 、内容、re.S)
 印刷(results.group(1 ))

TODOエスケープ\、試合は特別なエスケープ文字\を追加する必要がある 
コンテンツを= ' 価格は$ 5.00 ' 
結果 = re.match(' 価格は\ $です。5 0.00 \ ' 、コンテンツ)
 を印刷(結果)

re.search最初の文字列全体をスキャンし、成功したマッチを返します。

関数のシンタックス:

検索パターン文字列フラグ= 0  

「」「ピアレス小説マッチTangmenリンクを「」」
インポートインポート要求


RESP = requests.get(' http://www.jueshitangmen.info ' ).textの
 印刷(それぞれ)

#のTODOは、リンクの.cssの終わり得る 
パターン= ' <*リンクのhref =の? "(HTTP :. *?。CSS)" \ S \ /> ' 
CSS = re.search(パターン、RESP、re.S)
 を印刷(css.group(1))

re.findall

すべてのサブ文字列にマッチしたされた文字列で表現を検索し、リストを返し一致が見つからない場合は、空のリストが返されます。

「」「ピアレス一致Tangmenリンク」「」
インポートインポート要求を


RESP = requests.get(' http://www.jueshitangmen.info ' ).textの
 印刷(それぞれ)

#のTODOは、すべての.htmlリンクで終わる取得 
パターンを= ' <LI> * \ = SHREF。? "(HTTP :. *?。HTML)は" \ SREL ' 
html_link = re.findall(パターン、RESP、re.S)
 印刷(html_link)
 のためのhtml_link:
     印刷(I)

単一文字列マッチング:

文字列照合の複数:

 

マッチンググループ:

 

一般的なパターンマッチング:

おすすめ

転載: www.cnblogs.com/xiamaojjie/p/11666783.html