Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何从字符串中提取URL?(任何语言)_String_Url_Language Agnostic - Fatal编程技术网

String 如何从字符串中提取URL?(任何语言)

String 如何从字符串中提取URL?(任何语言),string,url,language-agnostic,String,Url,Language Agnostic,我意识到这个问题已经在堆栈溢出和网络上被问过很多次了,事实上,我刚刚打开了大约20个标签页,上面有明显的解决方案 问题是,每一个答案都是按照 您可以使用Regex,但这不是一个好主意,也不能可靠地工作,但我不会提供任何替代方案 所以我的问题是,真的没有可靠的、确定的方法可以从文本中提取URL吗 真的没有可靠的、确定的方法从文本中提取URL吗 嗯,字符串格式列表中的任何内容都需要仔细的异常处理。也就是说,一旦处理到位,它应该可以正常工作 “可能会做的事”可能看起来类似于: <a href="

我意识到这个问题已经在堆栈溢出和网络上被问过很多次了,事实上,我刚刚打开了大约20个标签页,上面有明显的解决方案

问题是,每一个答案都是按照

您可以使用Regex,但这不是一个好主意,也不能可靠地工作,但我不会提供任何替代方案

所以我的问题是,真的没有可靠的、确定的方法可以从文本中提取URL吗

真的没有可靠的、确定的方法从文本中提取URL吗

嗯,字符串格式列表中的任何内容都需要仔细的异常处理。也就是说,一旦处理到位,它应该可以正常工作

“可能会做的事”可能看起来类似于:

<a href="(?<url>http://.*?)".*>(?<text>.+?)<\/a>
(?。+?)

这是一个.NET regexp,所以您可能需要修改它才能在您的平台语言上工作。

如果您想从任何字符串中提取URL,除了使用Regex,别无选择。
事实上,URI模式已经定义(请参阅),如果您仔细研究了它的所有方面,regex是非常可靠的。

正则表达式是非常强大的工具。与大多数功能强大的工具一样,它们被严重误解,在许多用户手中都很危险,并且是某些任务的最佳答案。匹配字符串中的已知模式是它们存在的目的。一旦你有了一个好的URL模式,它将在它设计的上下文中一直工作。每个人都回避使用它们的原因是,为特定上下文创建一个好的URL模式是一项困难的工作。模式会因执行环境(例如
文件的操作系统:
URL)、所用编程语言和/或库等而异


对于HTTP URL的特定情况,有一个基本上是遵循的,您可以使用几乎任何语言或库从中构建可靠的正则表达式。

这适用于html中的标记链接,OP要求任何字符串。我刚刚添加了答案的其余部分。我认为解析过程首先需要一个好的异常处理。看看你引用的:他想从文本中提取URL,这可能是任何东西。除了正则表达式,没有其他优雅的解决方案。。。。。