C # Нужно найти веб-адреса с помощью REGEX это возможно? - PullRequest
2 голосов
/ 16 сентября 2009

C # Нужно ли искать веб-адреса с помощью REGEX, возможно ли это?

В основном мне нужно разобрать строку перед загрузкой в ​​WebBrowser

myString = "this is an example string http://www.google.com , and I need to make the link clickable";

webBrow.DocumentText = myString;

По сути, я хочу заменить веб-адрес так, чтобы он выглядел как гиперссылка, и делайте это с любым адресом, вставленным в строку. Мне нужно заменить веб-адрес, чтобы веб-адрес читался как

<a href='web address'>web address</a>

Это позволило бы мне активировать ссылки. Есть идеи?

Ответы [ 2 ]

1 голос
/ 16 сентября 2009
new Regex(@"https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?").Match(myString)
0 голосов
/ 16 сентября 2009

Это возможно в зависимости от того, насколько строгим или разрешительным вы хотите, чтобы ваш анализ был.

В качестве первого выреза вы можете попробовать @"\bhttp://\S+", который будет соответствовать любой строке, начинающейся с "http://" на границе слова (несловесный символ, такой как пробел или пунктуация).

Для поиска с использованием регулярных выражений и замены всех вхождений собственным текстом вы можете использовать метод Regex.Replace .

Возможно, вы захотите прочитать Элементы языка регулярных выражений , чтобы узнать больше.

...