こんにちは、JS2IIUです。
Pythonのreモジュールは、正規表現を用いた文字列操作を行うための機能を提供します。本記事では、基本的な使い方、主な関数、よく使う正規表現パターン、そして実践的な使用例を紹介します。今回もよろしくお願いします。
reモジュールの基本的な使い方
reモジュールを使用する際は、まずインポートが必要です。その後、正規表現パターンを定義し、対象の文字列に対してマッチング操作を行います。
Python
import re
# 数字にマッチするパターン
pattern = r'\d+'
text = '今日は2025年2月17日です。'
# パターンにマッチする部分を検索
matches = re.findall(pattern, text)
print(matches) # 出力: ['2025', '2', '17']主な関数とサンプルコード
re.findall()
パターンにマッチするすべての部分文字列をリストとして返します。
Python
import re
text = 'apple 123 banana 456 cherry 789'
pattern = r'\d+'
print(re.findall(pattern, text)) # 出力: ['123', '456', '789']re.search()
最初のマッチを見つけ、マッチオブジェクトを返します。
Python
import re
text = 'My phone number is 080-1234-5678'
pattern = r'\d{2,4}-\d{3,4}-\d{4}'
match = re.search(pattern, text)
if match:
print(match.group()) # 出力: 080-1234-5678re.match()
文字列の先頭でパターンがマッチするかをチェックします。
Python
import re
text = 'Python is great'
pattern = r'Python'
match = re.match(pattern, text)
if match:
print('Matched:', match.group()) # 出力: Matched: Pythonre.sub()
パターンにマッチする部分を置換します。
Python
import re
text = 'My email is test@example.com'
pattern = r'\S+@\S+'
print(re.sub(pattern, '[REDACTED]', text)) # 出力: My email is [REDACTED]re.split()
パターンにマッチする部分で文字列を分割します。
Python
import re
text = 'apple,banana;cherry orange'
pattern = r'[;, ]+'
print(re.split(pattern, text)) # 出力: ['apple', 'banana', 'cherry', 'orange']よく使う正規表現パターン
.: 任意の1文字にマッチ^: 文字列の先頭にマッチ$: 文字列の末尾にマッチ*: 直前の文字が0回以上繰り返される+: 直前の文字が1回以上繰り返される{m,n}: 直前の文字がm回からn回繰り返される[]: 角括弧内のいずれかの文字にマッチ|: OR条件(): グループ化
実践的な使用例
1. 電話番号の抽出
Python
import re
text = '連絡先: 03-1234-5678, 080-9876-5432'
pattern = r'\d{2,4}-\d{3,4}-\d{4}'
print(re.findall(pattern, text)) # 出力: ['03-1234-5678', '080-9876-5432']2. 日付の抽出
Python
import re
text = 'イベント日程: 2024/11/05, 2025-02-17'
pattern = r'\d{4}[/-]\d{2}[/-]\d{2}'
print(re.findall(pattern, text)) # 出力: ['2024/11/05', '2025-02-17']3. HTMLタグの削除
Python
import re
html = '<p>これは<strong>重要</strong>なテキストです。</p>'
pattern = r'<.*?>'
print(re.sub(pattern, '', html)) # 出力: これは重要なテキストです。参考になるWEBサイト
最後に、書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。ぜひ手に取ってみてください。


コメント