質問: ### 前提・実現したいこと 正規表現で後方一致$を使って、行の終端に一致するパターンを出力したいと考えています。 ### 発生している問題・エラーメッセージ 「独学プログラマー」という本で、初めてPythonプログラミングを勉強しています。 現在、第17章で正規表現を勉強している途中です。 The Zen of Pythonの詩のテキストファイルzen.txtを作成し $記号で後方一致のパターンを出力しようとしているのですが 出来ずに困っています。 ### 該当のソースコード WSL上でUbuntuを起動しています $ grep idea. zen.txt >>If the implementation is hard to explain, it's a bad idea. >>If the implementation is easy to explain, it may be a good idea. >>Namespaces are one honking great idea -- let's do more of those $ grep idea.$ zen.txt $ このようにidea.であれば正確に検索できるのですが、idea.$では一致するものが見つかりません ### 試したこと 例えば、詩の一番最後の単語であるthoseを後方一致で検索すると正常に実行されるので 詩の途中の改行が認識されていないのかなと思うのですが、詳しいことはわかりません。 $ grep those$ zen.txt Namespaces are one honking great idea -- let's do more of those ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: そのzen.txtはwindows上で作成したものではありませんか? そうであれば改行文字が邪魔をしている可能性があります。 ubuntu上で普通に作ったテキストファイルをfileコマンドでチェックすると以下のような感じになると思います。 ``` $ file zen.txt zen.txt: ASCII text ``` windows上で普通に作ったファイルについてはこんな感じです。 ``` $ file zen2.txt zen2.txt: ASCII text, with CRLF line terminators ```