再マッチングと再検索
re.match 関數(shù)
構(gòu)文:
re.match(pattern, string, flags=0)
re.match は、文字列の開始位置でない場(chǎng)合、文字列の開始位置からパターンを照合しようとします。位置が一致している場(chǎng)合、一致は成功します。成功した場(chǎng)合、match() は何も返しません。
re.search 関數(shù)
構(gòu)文:
re.search(pattern, string, flags=0)
re.search 文字列全體をスキャンし、最初に一致したものを返します。
re.match と re.search のパラメータは基本的に同じであり、具體的には次のとおりです。説明
一致する正規(guī)表現(xiàn) | |
一致する文字列 | |
正規(guī)表現(xiàn)の一致方法を制御するために使用されるフラグ (大文字と小文字を區(qū)別するかどうかなど) | |
#それから彼らは何が違うのですか? | re.match は文字列の先頭のみに一致します。文字列の先頭が正規(guī)表現(xiàn)に一致しない場(chǎng)合、一致は失敗し、関數(shù)は None を返します。一方、re.search は一致するまで文字列全體を一致させます。見つかった。これがそれらの違いです。 |
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- # 提取圖片的地址 import re a = '<img src="https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg">' # 使用 re.search search = re.search('<img src="(.*)">', a) # group(0) 是一個(gè)完整的分組 print(search.group(0)) print(search.group(1)) # 使用 re.findall findall = re.findall('<img src="(.*)">', a) print(findall) # 多個(gè)分組的使用(比如我們需要提取 img 字段和圖片地址字段) re_search = re.search('<(.*) src="(.*)">', a) # 打印 img print(re_search.group(1)) # 打印圖片地址 print(re_search.group(2)) # 打印 img 和圖片地址,以元祖的形式 print(re_search.group(1, 2)) # 或者使用 groups print(re_search.groups())出力結(jié)果:
<img src="https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg"> https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg ['https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg'] img https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg ('img', 'https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg') ('img', 'https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg')最後に、正規(guī)表現(xiàn)は非常に強(qiáng)力なツールであり、通常は使用されます。文字列の組み込み関數(shù)では解決できない問題を解決するために使用され、正規(guī)表現(xiàn)はほとんどの言語で使用できます。 Python にはさまざまな用途がありますが、正規(guī)表現(xiàn)はクローラ モジュールとデータ分析モジュールの両方で不可欠です。したがって、正規(guī)表現(xiàn)は Python を?qū)W習(xí)する上で非常に重要です。最後に、Python でサポートされるいくつかの一般的な正規(guī)表現(xiàn)、正規(guī)表現(xiàn)メタキャラクター、および構(gòu)文ドキュメントが付屬しています。