Я использую RegExr для всех моих потребностей создания регулярных выражений. У них есть несколько предопределенных регулярных выражений.
Возможно, вы сможете немного перепроектировать это:
(https?://)?(www\.)?([a-zA-Z0-9_%]*)\b\.[a-z]{2,4}(\.[a-z]{2})?((/[a-zA-Z0-9_%]*)+)?(\.[a-z]*)?