У меня есть таблица вида:TSQL - Grab действительные адреса
Url
==============
www.google.com
http://www.yahoo.com/
www.192.168.1.1.com
192.168.1.5
www.192.168.5.149/service.ir
test.sitename.com
Так что мой вопрос seperats на две секции:
- Получение всех URL-адресов на основе шаблона (
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
). - Форматирование URL-адреса, которые не являются действительными (на основе модели)
Так что я придумал запрос, как это для первой части:
select Url FROM UserWebsites
WHERE Url like '%(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?%'
Но я понятия не имею, Как формат URL.
Есть ли более элегантный способ сделать это?
Есть ли возможность очистить данные перед тем, как принести их в SQL Server? –
@TimBiegeleisen К сожалению, данные были сохранены в базе данных. –
В SQL Server для проверки регулярного выражения вам необходимо использовать функцию CLR. Посмотрите на [this] (http://stackoverflow.com/q/5212665/4519059);). –