Regex для определения URL, содержащего другие URL - PullRequest
0 голосов
/ 01 декабря 2011

XXXXXX http://something/something-http://directedto.com/XXXXXXX

У меня есть список таких строк, где X обозначает случайный расширенный символ ASCII.Я не могу найти веб-источник регулярных выражений, который помог бы мне получить

http://something/something-http://directedto.com/

из строки.Не могли бы вы предоставить мне шаблон регулярных выражений, который действительно помогает?

РЕДАКТИРОВАТЬ;приведенная выше строка является просто примером.
как и другие случаи, например

XXXXX http://something/somehttp/qausiehfiuhakjh-/http://directedto.net/soemthignelseXXXXXXX XXXXXXXXXX http://www.yahoo.com/_ylt=Asq0NTMqTVFcCmnB3eR857SbvZx4;_ylu=X3oDMTNvZ2dtNnI1BGEDMQRjY29kZQNwemJ1YWxsY2FoNQRjcG9zAzIEZwMxBGludGwDdXMEbWNvZGUDcHpidWFsbGNhaDUEbXBvcwMzBHBrZ3QDMgRwb3MDMQRzZWMDdGQtbG9jBHNsawN0aXRsZQR0ZXN0AzcwMQR3b2UDMjQ1OTExNQ--/SIG=14l1h2t2v/EXP=1322779228/**http://www.nytimes.com/2011/12/01/nyregion/told-to-diversify-dock-union-offers-nearly-all-white-list.html%3Fsrc=me%26ref=nyregionXXXXXXXXXXXXXX

1 Ответ

1 голос
/ 01 декабря 2011

Обнаружение URL на самом деле очень сложно, потому что он может содержать практически любой символ, в том числе «случайный расширенный ascii».Хорошее объяснение того, почему это так сложно, приведено здесь: http://daringfireball.net/2010/07/improved_regex_for_matching_urls. К сожалению, в этом примере предполагается, что вокруг URL существует некая «граница слова», что не относится к вашей проблеме.

ТамРазве нельзя надежно определить любой возможный URL, но вы могли бы сделать некоторые предположения, возможно, все ваши URL начинаются с «http:» или «https:» и содержат только буквенно-цифровые символы, символы подчеркивания и точки?Это будет работать для этого:

https?:[a-zA-Z0-9./]+

Если вы обновите свой вопрос с лучшими примерами фактического текста, в котором вы пытаетесь найти, я могу при необходимости улучшить свой шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...