中学英語810350 views
Computer366668 views
高校物理159066 views
高校生物550659 views
世界の国562485 views
小学算数1198046 views
MathPython494571 views
英語610729 views
教育149231 views
中学理科1628682 views

Python の re.findall を使うときは探したい単語を re.escape しておく

ドットのある単語を正規表現で見つける、またはカウントする場合を考えます。

import re

text = "config.txt, configXtxt, config txt"

without_escape = re.findall("config.txt", text)

print(without_escape)
# ['config.txt', 'configXtxt', 'config txt']

with_escape = re.findall(re.escape("config.txt"), text)

print(with_escape)
# ['config.txt']

最初の例からわかるように、探したい単語をそのまま入れてしまうと予期しない結果が返ります。re.findall で単語をカウントする場合は、探したい単語を re.escape しておくといいですね。