小学算数1197058 views
英語609652 views
Computer366119 views
いろは2995081 views
MathPython493500 views
高校国語786382 views
LaTeX958597 views
高校倫理1435514 views
高校物理158718 views
ヒストリア286202 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 しておくといいですね。