Обнаружение URL на самом деле очень сложно, потому что он может содержать практически любой символ, в том числе «случайный расширенный ascii».Хорошее объяснение того, почему это так сложно, приведено здесь: http://daringfireball.net/2010/07/improved_regex_for_matching_urls. К сожалению, в этом примере предполагается, что вокруг URL существует некая «граница слова», что не относится к вашей проблеме.
ТамРазве нельзя надежно определить любой возможный URL, но вы могли бы сделать некоторые предположения, возможно, все ваши URL начинаются с «http:» или «https:» и содержат только буквенно-цифровые символы, символы подчеркивания и точки?Это будет работать для этого:
https?:[a-zA-Z0-9./]+
Если вы обновите свой вопрос с лучшими примерами фактического текста, в котором вы пытаетесь найти, я могу при необходимости улучшить свой шаблон.