>& STDOUT

主にソフトウェアに関する日々の標準出力+標準エラー出力

後方一致は無い


今いるプロジェクトの標準スクリプトがpythonなので、勉強がてらKOCやMcCなどを測るツール、というかラッパーを書いていると、一覧したファイルの中から、".c"で終わってるファイルだけを抽出、というニーズが発生。

文字列操作といえば

正規表現ですよね奥さん。
サバを買うなら魚屋さんで、
豚コマを買うなら肉屋さんで、
キャベツを買うなら正規表現ですよね。

じゃ、"^"の逆みたいなのを探して...と思ったらコレが無い。
どこにも無い。”無いよ”という記述もこれまた無い。
ないない尽くしでオラこんなチュートリアル嫌だ。

と思ったら、

JavaでもPythonでも、前方一致によるマッチがあるのに対して
後方一致によるマッチのメソッドは用意されていません。
これは、前方一致の方が正規表現エンジンの原理から言って実現方法が自然だからです。

正規表現エンジンを作ろう (1) より


がいーん。
ので、こうした。

tgt_files = os.listdir("c:\\filepath\\")
for src in tgt_files:
    if src[len(src)-2:] == ".c":
        print src

悔いは無い。いまのところ。