У меня есть некоторый код, который распознает URL в строку, и преобразует его в гиперссылку:Regex на URL строки терпит неудачу, когда «(» или «)» присутствует
MyString = Regex.Replace(MyString,
"(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])",
Function(match As Match) String.Format("<a href=""{0}"">{0}</a>", match.ToString()))
К сожалению, это завершающий матч рано, если строка содержит либо (
, либо )
символов. Например ...
http://my.intranet/CustomerServices/Internal/Staff(Admin)ProcedureChanges.asp
... заменяется
<a href="http://my.intranet/CustomerServices/Internal/Staff">http://my.intranet/CustomerServices/Internal/Staff</a>(Admin)ProcedureChanges.asp
Может кто-нибудь, пожалуйста, изменить RegEx, чтобы эти символы должны быть включены в URL,? Спасибо.
Try 'HTTPS: // [\ ш \ -_] + (. \ [\ Ш \ -_] +) + ([\ ш \ -, @^=% &.? :/~() + #] * [\ w \ - @?^=% &/~ + #]) '. –
Кажется работать - спасибо. Если вы можете опубликовать ответ, я соглашусь и закрываю. – EvilDr