Python の re モジュールでの正規表現の使用方法

Python用の「re」モジュールは正規表現を扱うモジュールで、文字列の一致、検索、置換、分割などの操作に使用できます。

「re」モジュールは、一般的なものとしてこれらのような関数やメソッドを提供しています。

  1. re.match(pattern, string, flags=0): 文字列の先頭からパターンにマッチするか調べ、マッチすればマッチオブジェクトを返し、失敗すればNoneを返します。
  2. 正規表現 pattern で文字列 string を検索し、一致するパターンが見つかった場合にマッチオブジェクトを返し、見つからなかった場合は None を返します。
  3. 再帰的にパターンにマッチする文字列を検索し、リストとしてそれらの結果を返す。
  4. 再帰的に文字列中の指定パターンの部分を置換し、置換後の文字列を返す。
  5. re.split(pattern, 文字, maxsplit=0, flags=0) : 指定されたパターンに基づいて文字列を分割し、リストに格納します。

reモジュールのpatternパラメータは正規表現を指定し、flagsパラメータは照合モードを指定します。よく使われる照合モードは、re.I(大文字小文字を無視)、re.M(複数行照合)などです。

サンプルコード:

import re

string = "abc123def456ghi789"
pattern = r'\d+'  # 匹配连续的数字

# 使用re.search()查找匹配的模式
match_obj = re.search(pattern, string)
if match_obj:
    print(match_obj.group())  # 输出: 123

# 使用re.findall()查找所有匹配的模式
result = re.findall(pattern, string)
print(result)  # 输出: ['123', '456', '789']

# 使用re.sub()替换匹配的模式
new_string = re.sub(pattern, '###', string)
print(new_string)  # 输出: abc###def###ghi###

# 使用re.split()切割字符串
result = re.split(pattern, string)
print(result)  # 输出: ['abc', 'def', 'ghi', '']
bannerAds