Вместо этого вы можете повторить сопоставление 2 раза, а не косую черту, а затем косую черту.
^(?:[^\/]*\/){2}[^\/]+
См. Демонстрацию regex
ЕслиВы не хотите соответствовать ?#
, вы можете добавить это к классу персонажей
^(?:[^\/?#]*\/){2}[^\/]+
О вашем шаблоне
Эта часть вашего шаблона ([^\/?#]+){3}
захватывает в группе соответствия 1+ раз любой символ, который не входит в класс символов, но после этого повторения не учитывает косую черту.
Тогда (?:.*?\/)
будет соответствовать любому символу, не являющемуся жадным, с последующим косой чертой.