【Python初心者】reモジュールを使って後方参照をしてみよう!【1分で読める!】

reモジュールを使って後方参照をしてみよう Python

今回はPythonでグループを後から参照する後方参照を、reモジュールを使う方法で紹介します。

\reモジュールの基本/

後方参照に使用する正規表現

後方参照に使用する正規表現

Pythonに後方参照をさせるには、reモジュールsub関数を使用します。

かりん
かりん

reモジュールとは、正規表現を扱う為にPythonに用意されている標準モジュール。正規表現を使うと任意のパターン文字列を使うことが出来て便利だよ!詳しくは☞こちら

グループ化した正規表現にマッチした範囲は、¥番号で参照出来ます。

これを後方参照と呼びます。

この場合がPythonによってエスケープされないようにraw文字列記法を使用する必要があります。

(¥は\バックスラッシュと同じ意味します。)

関数:sub(pattern, repl ,string ,count=0, flags=0)
pattern:パターン repl:置換後の文字列 string:検索対象の文字列
count:置換が実行される最大回数。省略もしくは0ですべて実行
flags:検索条件を設定するフラグ
説明:stringに対してpatternで指定したパターンに合う部分をreplで指定した文字列で置換する

文章にすると少し分かりにくいと思うので、実行例でみていきましょう。

 

Pythonで実際に後方置換をする

Pythonで実際に後方置換をす

実際にsub関数のreplで後方参照を使用して「日:月:年」のリストを「月:日:年」に変更してみましょう。

import re
date1=[“10日:8月:2020年”,”1日:8月:2020年”,”5日:8月:2020年”]
date2=[]
for date in date1:
 date2.append(re.sub(r”(\w+):(\w+):(\w+)”,r”\2:\1:\3″,date))
print(date2)

結果:[‘8月:10日:2020年’, ‘8月:1日:2020年’, ‘8月:5日:2020年’]

(re.sub(r”(\w+):(\w+):(\w+)”,r”\2:\1:\3″,date)の\2:\1:\3順番を入れ替えると、表示させる順番を変えられます。

Pythonで後方参照 まとめ

Pythonで後方参照 まとめ

少し難しい内容でしたが理解できましたか?

難しいと感じたあなたは、前回の内容をぜひ振り返ってみてくださいね。

今回の内容のヒントが得られるはずです。
reモジュールでパターンにマッチする部分を置換しよう!

今回の内容をまとめておきます。

  • reモジュールのインポート
    コードの初めに import re を記載
  • 後方置換をする
    sub(pattern, repl ,string ,count=0, flags=0)
    詳しい引数の説明は上記参照

\次回の内容はこちら/

コメント

タイトルとURLをコピーしました