考えられるすべてのテストケースで「機能する」正規表現を作成しました。基本的に、次のパターンに一致する任意の URL:
/app.* AND の最後に長さ 1 ~ 4 の拡張子がない場合は、書き換える必要があります。私が思いついた:
/app((?:\\/[\\w([^\\..]{1,4}\b)\\-]+)+)
問題は、これを単純化して同じことを達成できるかどうかです。また、\w の使用を .* のようなものに置き換えることはできますか?間違っている可能性がありますが、奇妙な文字を含む URL に遭遇するとすぐに URL が壊れると思います。
編集 1: 一致する URL の例:
/app AND /app/
/app/auth
/app/auth/fb
/app/auth/twitter
/app/groups
/app/conn/manage
/app/play
/app/play/migrate
/app/play/migrate/done
一致してはならない URL の例:
/app/js/some.file.js
/app/js/jquery.js
/app/styles/default/rain.css
/app/styles/name/file.css
/app/tpl/index.tpl
/app/tpl/file.html
/app/tpl/some.other.tpl
ありがとう。