В шаблоне нужно отметить несколько вещей.
Вы должны экранировать точку, чтобы буквально соответствовать ей в этой части (?:w{1,3}\.)?
Если вы добавите точку к персонажу класс [^\s.]*
вам не нужно делать это не жадным квантификатором.
Вы можете опустить внешнюю группу захвата, если хотите только совпадение.
Вы можете сделать часть порта необязательной. (?::\d+)?
для соответствия:
https?:\/\/(?:w{1,3}\.)?[^\s.]+(?:\.[a-z]+)*(?::\d+)?(?![^<]*(?:<\/\w+>|\/?>))
Regex demo