サンプルコード集 (正規表現)

トップページ>サンプルコード集 (正規表現)

サンプルコード集

◯こちらのサンプルコードは指導等にご自由にお使いください。


【サンプルコードの使い方】
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。


【要素ごとのサンプルコードページへ移動】
全て
if文
for文
関数
配列
ファイル入出力
Numpy
Matplotlib
openpyxl
Pandas
正規表現
Biopython
scikit-learn
seaborn
Graphviz
Gemini
Tkinter

【Code List】

CODE: 7-4 (正規表現)

CODE: 7-5 (正規表現)

CODE: 7-6 (正規表現)



CODE: 7-4 (正規表現)


import re

def main():
    text = "名前:山田太郎、年齢:30歳、職業:エンジニア"
    pattern = r'名前:(.*)、年齢:(.*)歳、職業:(.*)'

    dates = re.findall(pattern, text)
    for name, age, job in dates:
        print("%s, %s, %s" % (name, age, job))
    return(0)


main()





【ポイント】
◯reモジュールにはいろいろな関数があるが、まずはfindall()を押さえておけばOK。
◯基本は()でくくって、そこの中に正規表現を入れる。
◯特に(.*)は頻出! これで数値/文字列関係なくマッチさせることができる。
◯参考: https://qiita.com/Tadataka_Takahashi/items/c687004c66a4b2b13f96
https://qiita.com/luohao0404/items/7135b2b96f9b0b196bf3





CODE: 7-5 (正規表現)


import re

def main():
    text = "イベントは2023年5月15日から2023年5月17日まで開催されます。"
    pattern = r'(\d{4})年(\d{1,2})月(\d{1,2})日'

    dates = re.findall(pattern, text)
    for year, month, day in dates:
        print("%04d/%02d/%02d" % (int(year), int(month), int(day)))
    return(0)


main()





【ポイント】
◯数値4桁のマッチは\d{4}, 数値1or2桁のマッチは\d{1,2}で表現できる。





CODE: 7-6 (正規表現)


import re

def main():
    text = "イベントは2023年5月15日から2023年5月17日まで開催されます。"
    pattern = r'(\d{4})年'

    text_sub = re.sub(pattern, "2025年", text)
    print(text_sub)
    return(0)


main()





【ポイント】
◯正規表現を利用した置換はre.sub()を用いる。
◯ただし正直replace()で十分なときが多い。
◯参考: https://note.nkmk.me/python-str-replace-translate-re-sub/#resub-resubn