Python re.match() メソッド

Python re モジュール


re.match()は Pythonreモジュール内で使用される文字列の先頭からマッチングするパターンの関数。

文字列の先頭が指定された正規表現にマッチする場合は、マッチオブジェクトを返します。それ以外の場合はNone。

単語の意味: matchはマッチ、一致するという意味です。


基本構文とパラメータ

re.match()はモジュールレベルの関数であり、直接reモジュールから呼び出します。

構文形式

re.match(pattern, string, flags=0)

パラメータの説明

  • pattern:
    • 型:文字列 (str)
    • 説明:マッチングする正規表現パターン。
  • string:
    • 型:文字列 (str)
    • 説明:マッチング対象の文字列。
  • flags:
    • 型:整数 (int, オプション)
    • 説明:正規表現フラグ。

関数の説明

  • 戻り値: 文字列の先頭がマッチする場合、matchオブジェクトを返します。それ以外の場合はNone。
  • 注意: re.match()文字列の先頭からのみマッチングし、文字列の途中はスキャンしません。

例

例を通してre.match()の使い方をマスターしましょう。

例1:基本的な使い方 - 先頭でのマッチング

例

import re

text = "Pythonは強力なプログラミング言語です"

# 先頭から "Python" をマッチング
result = re.match(r'Python', text)

if result:
    print("匹配成功:", result.group())
    print("匹配位置:", result.start(), "-", result.end())

実行結果の予想:

匹配成功: Python
匹配位置: 0 - 6

例2:先頭が一致しない場合

例

import re

text = "私はPython"

# 先頭から "Python" をマッチング - 失敗する
result = re.match(r'Python', text)

if result:
    print("匹配成功:", result.group())
else:
    print("マッチ失敗: 文字列の先頭はPythonではありません")

実行結果の予想:

匹配失败: 字符串开头不是Python

例3:文字列の先頭に続く内容をマッチング

例

import re

text = 2024年は特別な年です

# 年の形式をマッチング (4桁の数字)
result = re.match(r'\d{4}', text)

if result:
    print("匹配到年份:", result.group())

実行結果の予想:

匹配到年份: 2024

例4:グループを使用してデータを抽出

例

import re

text = "Hello World"

# "Hello" の後にスペースと "World" が続くことをマッチング
result = re.match(r'(Hello) (World)', text)

if result:
    print("完整匹配:", result.group())
    print("第1组:", result.group(1))
    print("第2组:", result.group(2))

実行結果の予想:

完整匹配: Hello World
第1组: Hello
第2组: World

Python re モジュール

その他の拡張