Ваше первое предложение не соответствует вашему регулярному выражению или примерам.
Мне кажется, что вы хотите:
- Если строка заканчивается на
.aspx
, дальнейшая обработка не производится.
- В противном случае, если строка заканчивается на
/
, удалите эту косую черту.
- Обработка строки.
Может быть, вы пытаетесь сделать слишком много с помощью регулярного выражения?
Почему бы не выполнить явное тестирование вашего расширения (.aspx), а если его у вас нет, то обнаружить косую черту терминала и удалить ее перед дополнительной обработкой строки?
То есть: я уверен, что можно создать регулярное выражение с отрицательным прогнозом, которое будет выполнять 1 и 2, но не будет ли яснее сделать это явно.
Возможно, вы захотите проверить еще несколько примеров:
foo/bar/.aspx
foo/bar.aspx/
foo.aspx/bar
foo.aspx/bar/
Просто чтобы быть уверенным, что вы знаете, что ожидаете получить.