【发布时间】:2013-08-23 17:18:14
【问题描述】:
我需要提取字符串中的url。
在我的情况下,html 文本在数据库中,当我获取该文本并需要在文本中查找所有 url 并插入到另一个表中时,你能给我一种在 SQL 或 C# 中查找 url 的方法吗?
【问题讨论】:
-
你试过使用正则表达式吗?
我需要提取字符串中的url。
在我的情况下,html 文本在数据库中,当我获取该文本并需要在文本中查找所有 url 并插入到另一个表中时,你能给我一种在 SQL 或 C# 中查找 url 的方法吗?
【问题讨论】:
这是在文本中查找 url 的正则表达式
Regex regx = new Regex("http://([\\w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\,]*)?", RegexOptions.IgnoreCase);
MatchCollection mactches = regx.Matches(txt);
【讨论】:
其中一种可能的方法是使用正则表达式。第一个选项是从数据库中提取 HTML,然后使用正则表达式直接查找链接。第二个选项是首先定位链接标签,然后从中提取 url(再次使用正则表达式)。
您可以在此处找到有关如何在 C# 中使用正则表达式的信息: http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx
另一方面,编写正确的正则表达式可能并不那么容易(这取决于 URL 的复杂程度),但你应该看看这个问题:regular expression for url
此外,您还可以在这里找到很多关于正则表达式的一般信息(请记住,有一些应用程序,例如 RegexBuddy,可以在测试正则表达式时为您提供很多帮助):http://www.regular-expressions.info/
【讨论】: