[Python] 正規表現で文字列を置き換える

Python 正規表現で文字を置き換える

久ぶりにPythonでスクリプトを書いたんだけど、いろいろ忘れてたので備忘録をかねて残します。

まずは正規表現で文字列を置き換える方法です。
最後に引数でflagsで動作を指定することができます。
例は大文字小文字を区別しないようにしています。

動作確認はPython3で確認しています。

1
2
3
4
import re
 
base_str = 'toDay'
changed_str = re.sub(r'today', 'yesterday', base_str, flags=re.I)

後方参照で置き換えする

後方参照を利用して置き換えることもできます。
バックスラッシュがエスケープ文字なので2つ続けて書く必要があるので注意が必要です。

1
2
3
4
5
import re
 
base_str = '1234Hello56789'
changed_str = re.sub(r'([0-9]+)(\w+)', '\\1 \\2 ', base_str, flags=re.I)
print(changed_str) # 1234 Hello56789

0 件のコメント :

コメントを投稿