2013-08-23 4 views
0

Мне нужно извлечь URL-адрес внутри строки.Мне нужно извлечь URL-адрес внутри строки

В моем случае текст html находится в db, и когда я получаю этот текст и вам нужно найти весь url в тексте и вставить в другую таблицу, можете ли вы найти способ найти URL в SQL или C#.

+0

Вы пытались использовать регулярное выражение? –

+0

http://stackoverflow.com/questions/4750015/regular-expression-to-find-urls-within-a-string –

ответ

1

Это reqular выражение, чтобы найти адреса в тексте

Regex regx = new Regex("http://([\\w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\,]*)?", RegexOptions.IgnoreCase); 

MatchCollection mactches = regx.Matches(txt); 
+1

'https'' ftp'? – I4V

0

Один из возможных способов сделать это является использование регулярных выражений. Первый вариант - извлечь 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/

Смежные вопросы