Последняя точка в вашем выражении все еще может вызвать проблемы, так как она будет соответствовать «один что угодно». Например, вы можете сопоставить / somefilename # php с этим шаблоном. Сделайте обратную косую черту, чтобы сделать ее буквальным периодом:
/\/(.*?)\.php/
Также обратите внимание, что ?
, чтобы сделать .*
не жадным , необходимо, и паттерн Арды Си не будет работать. .*
будет гоняться до конца строки, а затем будет резервировать по одному символу за раз, пока он не совпадет с .php
, что, безусловно, не то, что вам нужно.