http://(?:www\.)?[a-zA-Z0-9/;&=:_$+!*'()|~\[\]#%.\\-]+
делает то же самое, что и ваше регулярное выражение (я удалил много ненужных слов), но перестает сопоставлять ссылку до ?
.
в C #:
Regex regexObj = new Regex(@"http://(?:www\.)?[a-zA-Z0-9/;&=:_$+!*'()|~\[\]#%.\\-]+")
Тем не менее, я не уверен, что это такой хороший способ сопоставления URL-адресов (как насчет https
, ftp
, mailto
и т. Д.?) * 10101 *