Кажется, что первая часть исправлена, и вы все обрезаете после '/' или '?'. Учитывая это, возможно, вы хотите что-то вроде:
s/(\/asd\/fdsadx\/sadsa\/)[^/?]+(.*)/\1\2/
Это захватит голову в \ 1, игнорируя группу символов, которые не являются ни '\', ни '?',и захватить хвост в \ 2.