{category}

Python - 正規表現

re.sub

アールイー ドット サブ(標準ライブラリ

意味 パターンを置換


re.subとは?

re.subは、文字列の中で正規表現パターンと一致する部分を別の文字列に置換します。

re.subの具体的な使い方

個人情報のマスキング例

import re

text = """山田太郎の電話番号は 090-1234-5678 です。
田中花子の電話番号は 080-8765-4321 です。"""

def mask_phone(match):
    return match.group()[:3] + '-xxxx-' + match.group()[-4:]

pattern = r'\d{3}-\d{4}-\d{4}'

masked_text = re.sub(pattern, mask_phone, text)

print(masked_text)

👇出力結果

山田太郎の電話番号は 090-xxxx-5678 です。
田中花子の電話番号は 080-xxxx-4321 です。

re.subを使って、テキスト中の電話番号を部分的にマスキングする例です。電話番号のパターンに一致する部分を見つけ、中央の4桁をxでマスクする関数を適用しています。これにより、個人情報を保護しつつ、番号の一部を表示することができます。

re.subに関するよくある質問

Q. 置換回数を制限するには?
A. re.subの第4引数に数値を指定することで、置換回数を制限できます。例えば、re.sub(pattern, replace, text, 2)とすると、最初の2箇所のみが置換されます。
Q. 関数を使って動的に置換するには?
A. replaceの部分に関数を指定することができます。この関数はマッチオブジェクトを引数として受け取り、置換する文字列を返します。これにより、マッチした内容に応じて動的に置換内容を変更できます。
Q. 大文字小文字を区別しない置換は?
A. re.IGNORECASE(または re.I)フラグを使用することで、大文字小文字を区別せずにパターンマッチングと置換を行うことができます。例:re.sub(pattern, replace, text, flags=re.IGNORECASE)

Pythonのre.subについても学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのre.subやlogging、threading.Thread、threading.Semaphore、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Pythonを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

logging

プログラムの動作記録

種類: ロギング

threading.Thread

並列処理実行

種類: マルチスレッド

threading.Semaphore

並列処理の同時実行数制御

種類: マルチスレッド

__str__

文字列で表現

種類: 特殊メソッド

x if condition else y

条件によって値を選択

種類: 三項演算子