正規表現は、文字列が特定のパターンに一致するかどうかを簡単に確認するのに役立つ特別な文字のシーケンスです。そこで今回は正規表現の使い方について詳しくお話します。
re モジュールを使用すると、Python 言語にすべての正規表現機能を持たせることができ、re モジュールの基本的な機能と使用例を通じて、Python の正規表現について理解を深めます。
1. 環境構築
私のPython環境はバージョン3.7.8で、ダウンロードパスは次のとおりです。
1.python 3.7.8
公式 Web サイトに直接アクセスしてダウンロードしてインストールできます: Download Python | Python.org
2.reライブラリを直接インポート可能
import re
2. reライブラリの基本的な使い方
1. 通常の文字列のマッチング
re.findll(): リストの形式でデータを返します。リストは、通常の要件を満たす文字列データです。
x = "qwer123\>"
y = re.findall('qwe',x)
print(y)
出力:
まず変数 x を定義し、それに文字列データのセットを割り当て、変数 y を定義し、findll() 関数を使用して、次の中に 'qwe' を含む文字列データを抽出します。
x = "qwer123qwer\>"
y = re.findall('qwe',x)
print(y)
出力:
変数 x に 2 つの「qwe」文字列型データが取得され、リストの形式で返されます。
2. メタキャラクターのマッチング (一般的に使用されるいくつかのメタキャラクターについて話しましょう)
(1) []: 範囲 (a[abcde]e) を表す文字セット ([0~9]) を指定するために使用されます。
たとえば、文字列「xyzqwexyz」内で「xyz」を検索する場合は、[] を使用して次のように記述できます。
x = 'xyzqwexyz'
y = 'x[xyz]z'
z = re.findall(y,x)
print(z)
出力:
(2) ^: 主に行頭の一致に使用されます。
x = 'xyzqwexyz'
print(re.findall("^xy", x))
出力:
(3)$: 主に行末との一致に使用されます。
x = 'xyzqwexyz'
print(re.findall("yz$", x))
出力:
(4) \s: 任意の空白文字と一致します
x = 'xyz yz'
print(re.findall("\s\s",x))
出力:
(5)\w: 任意の英数字とアンダースコアに一致します
x = "xh_xw-@*a"
print(re.findall("\w\w\w",x))
print(re.findall("\w\w\w\w\w",x))
出力:
(6) \d: 任意の 10 進数と一致します
x = 'ab214cd'
print(re.findall("b\d\d\dc", x))
出力:
(7) ※:可能な限り一致していることを示します。
x = '123456789'
print(re.findall("123\d*", x))
出力:
(8).: 改行文字を除く任意の文字を操作することを示します。
x = '0123\n456-*\n@'
print(re.findall('.',x))
出力:
3. まとめ
上記の関数の使い方をマスターすれば、基本的に文字列のマッチングは完了しますが、各関数の簡単な例を見て理解するとわかりやすいでしょう。
@ネン