Regex检测包含其他url的url

本文关键字:url 其他 包含 检测 Regex | 更新日期: 2023-09-27 18:16:30

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

我有一个字符串列表,其中X代表一个随机扩展的ASCII字符。我找不到任何regex的web源来帮助我获得

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

从字符串中取出。你能给我一个真正有用的正则表达式模式吗?

编辑;上面的字符串只是一个例子
如等其他情况

XXXXXhttp://something/somehttp/qausiehfiuhakjh-/http://directedto.net/soemthignelseXXXXXXXXXXXXXXXXXhttp://www.yahoo.com/_ylt=Asq0NTMqTVFcCmnB3eR857SbvZx4_ylu=X3oDMTNvZ2dtNnI1BGDMQRjY29kZQNwemJ1YWxsY2FoNQRjcG9zAzIEZwMxBGludGwDdXMEbWNvZGUDcHpidWFsbGNhaDUEBXBvcwMzBHBrZ3QDMgRwb3MDMQRzZWMDdGqtbG9jBHNsawN0aXRsZQR0ZXN0AzcwMQR3b2UDMjQ1OTExNQ--/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

Regex检测包含其他url的url

检测URL实际上非常困难,因为它几乎可以包含任何字符,包括"随机扩展ascii"字符。这里有一个很好的解释来解释为什么这么难:http://daringfireball.net/2010/07/improved_regex_for_matching_urls.不幸的是,该示例假设URL周围存在某种"单词边界",但您的问题并非如此。

没有任何方法可以可靠地检测任何可能的url,但你可以做一些假设,也许你的url都以"http:"或"https:"开头,并且只包含字母数字字符、下划线和句点?这将适用于:

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

如果你用你试图搜索的实际文本的更好的例子来更新你的问题,我可以根据需要改进我的模式。