Сначала вы должны понять, как соотносится регулярное выражение.
Если вы задаете или (|) группу, она соответствует целой группе для каждого символа.Например, ввод 123 122
и шаблон (123|12)
.Вторая группа (12) всегда соответствует обоим двум словам.
Поскольку первый и второй символ обоих слов соответствуют 12
группе, уже находящейся во втором символе, нет необходимости проверять третий символ.
Я думаю, что ваша цель состоит в том, чтобы сначала применить 123
группу для целого слова (123) и игнорировать 12
группу, потому что 123
группа уже соответствует.
Я предлагаю не использовать оглядку назад и получитьпервая группа (1 доллар), например:
\/\/(?:www\.)?(.+?)\/
https://regex101.com/r/Ufxzeq/1