トップページ>サンプルコード集 (正規表現)
サンプルコード集
◯こちらのサンプルコードは指導等にご自由にお使いください。
【サンプルコードの使い方】
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。
【要素ごとのサンプルコードページへ移動】
◯全て
◯if文
◯for文
◯関数
◯配列
◯ファイル入出力
◯Numpy
◯Matplotlib
◯openpyxl
◯Pandas
◯正規表現
◯Biopython
◯scikit-learn
◯seaborn
◯Graphviz
◯Gemini
◯Tkinter
◯全て
◯if文
◯for文
◯関数
◯配列
◯ファイル入出力
◯Numpy
◯Matplotlib
◯openpyxl
◯Pandas
◯正規表現
◯Biopython
◯scikit-learn
◯seaborn
◯Graphviz
◯Gemini
◯Tkinter
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
