Fail2Ban regex exclude if / found after определенной точки

Короче говоря, я хочу найти все запросы на файлы php в корне моего веб-приложения, но не в подкаталогах.

Например. Я бы хотел, чтобы совпало следующее:

/home/myapp/public_html/anyfile.php

но не следующее:

/home/myapp/public_html/subdir/anyfile.php

Мое регулярное выражение выглядит так:

\/home\/myapp\/public_html\/\S*(?!\/)\S*\.php

Он соответствует обоим примерам выше - я не могу заставить его потерпеть неудачу, если есть другой / после / public_html /

Любая помощь приветствуется!


person wedwo    schedule 30.09.2018    source источник


Ответы (1)


Хорошо, кажется, мне нужно использовать [^\/]+ для сопоставления чего-либо, кроме / в этот момент, поэтому регулярное выражение будет:

\/home\/myapp\/public_html\/[^\/]+\.php
person wedwo    schedule 30.09.2018