SDice技術メモ

技術備忘録や仕事関連でやったこと

Pythonでの複数行のテキストへの正規表現

Pythonを勉強中なのですが、正規表現を試していると「^」が効かないみたいな感じで焦ってしまいました。

使用した構文はこの様な感じです。
修正前:

# coding:utf-8
import re

target = """
ccccc
dcccc
fddddd
"""
# 正規表現検索部分
ans = re.search("^d", target)
if ans is not None:
    print(ans)

問題は正規表現検索部分だったらしく、下記の様に関数searchに「flags=re.MULTILINE」を引数で渡さないと「^」が上手く効かないようです。
修正後:

# coding:utf-8
import re

target = """
ccccc
dcccc
fddddd
"""
# 正規表現検索部分
ans = re.search("^d", target, flags=re.MULTILINE )
if ans is not None:
    print(ans)

関数の仕様確認を怠ってしまい反省ばかりです。