Windows11の教科書

ウィンドウズ11やスマホ・アプリで困ったことを調べたブログ

ウィンドウズ10やアプリで困ったことを調べたブログです。

スポンサーリンク


【Visual Studio】Pythonで正規表現のサンプル

Pythonで正規表現による文字抽出を行う場合のいろんなサンプルです。

Pythonで正規表現

r

Pythonでは「re」モジュールを使って正規表現による処理をいろいろとおこなうことができます。

 

「import re」を宣言してから処理を行いましょう。

 

reの使い方

コマンド

検索

「findall」関数で、指定した正規表現をすべて探します。

 

以下は文章から「<h1>」と「</h1>」で囲まれた文章をすべて探します。

sampletext = "<title>Tokyo</title><h1>東京</h1>東京のページです。"
pat = re.findall( '<h1>.*?</h1>', sampletext)
for p in pat:
 print(p)

実行すると「<h1>東京</h1>」という文字が出力されます。

 

置換・削除

正規表現に該当した個所は「sub」関数で置き換えることができます。

「''」と置き換えれば、削除にもなります。

 

以下は数字以外の部分を削除しています。

mystr = "1,100円"
result = re.sub(r"[^0-9]", "", mystr)
print(result)

結果は「1100」となります。

 

 

サンプル

郵便番号

郵便番号は3桁の数値「d{3}」と4桁の数値「d{4}」をハイフンでつないだものです。

長さが固定ですし数字のみのですので、正規表現「\d{3}-\d{4}」で指定すればオッケーです。

 

 

sampletext = "〒123-4567 東京都千代田区国会議事塔"
pat = re.findall( '\d{3}-\d{4}', sampletext)
for p in pat:
 print(p)

実行すると「123-4567」となります。

 

電話番号

電話番号は2~4桁の数値「\d{2,4}」と4桁の数値「d{4}」と4桁の数値「d{4}」をハイフンでつないだものです。

これを正規表現で指定するには「\d{2,4}-\d{4}-\d{4}」と記述します。

 

sampletext = "東京都千代田区国会議事塔 電話03-1234-5678"
pat = re.findall( '\d{2,4}-\d{4}-\d{4}', sampletext)
for p in pat:
print(p)

実行すると「03-1234-5678」となります。

 

ドコモ携帯の「090」などと数字が決まっている場合には「090-\d{4}-\d{4}」のように指定できます。

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ