URL パスを指定して、パスがディレクトリを指している場合は一致し、ファイル拡張子 .php、.js、.html、.htm などを指している場合は一致しない正規表現を作成しようとしています。
マッチ:
/www/site/path/ny/
マッチ:
/www/news/state.208/ii
一致しない:
/www/news/index.php
一致しない:
/www/site/fr/post.py
これが私が取り組んできた私の正規表現です:
^([a-zA-Z0-9/_\-]*[^/])$
この正規表現は私が望むことを行いますが、十分に正確ではありません。ファイルへのパスであると想定し、「.」に遭遇すると一致を停止しますが、上記の例のようにディレクトリ名に「.」が含まれる可能性を考慮する必要があります。
私はまた、運のない否定的な後ろ姿を使ってみました:
^(.(?!\.php)|(?!\.htm?l)|(?!\.js))$