亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

再マッチングと再検索

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)string一致する文字列flags 正規(guī)表現(xiàn)の一致方法を制御するために使用されるフラグ (大文字と小文字を區(qū)別するかどうかなど) re.match と re.search については、インターネット上に詳細(xì)な紹介がたくさんありますが、個(gè)人的に使用する場(chǎng)合は、やはり re.findall を使用するのが好きです。
#それから彼らは何が違うのですか? re.match は文字列の先頭のみに一致します。文字列の先頭が正規(guī)表現(xiàn)に一致しない場(chǎng)合、一致は失敗し、関數(shù)は None を返します。一方、re.search は一致するまで文字列全體を一致させます。見つかった。これがそれらの違いです。
次の例を比較してください。 re.search と re.findall の間でもマルチグループ化が使用されます。具體的にコメントを見て、出力結(jié)果を比較します。

例:

#!/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)文ドキュメントが付屬しています。

學(xué)び続ける