Вы можете сопоставить либо soundcloud.com, либо snd.s c, за которым следует повторяющийся шаблон, соответствующий /
, за которым следуют 1+ слов символов.
Сама часть символов слова также имеет повторяющиеся деталь, соответствующая символам -
и 1+.
Если вы хотите сопоставить только alphanumeri c, вы можете использовать [a-zA-Z0-9]
вместо \w
, что также может соответствовать _
^https?:\/\/(?:soundcloud\.com|snd\.sc)(?:\/\w+(?:-\w+)*)+$
Пояснение
^https?:\/\/(?:soundcloud\.com|snd\.sc)
Соответствует протоколу или звуковому облаку или snd (?:
Группа без захвата \/\w+
Совпадение /
и 1+ символов слова (?:-\w+)*
Повторение 0+ раз совпадения -
и 1+ слов символов
)+
Закройте группу и повторите 1+ раз, чтобы найти хотя бы одну /
часть $
Конец строки
Regex demo