가능한 중복 URL을 얻을 : 정규 표현식을 사용하여 문자열에서 URL을 추출하려고
Get a URL from a String문자열에서
안녕, 메신저. 문자열은 다음과 같습니다. "lorem ipsum baby www.test.com lorem", "lorem ipsum http://www.test.com foo bar"또는 "lorem www.test.com", 뒤 공백 없음.
사용
MatchCollection ms = Regex.Matches(adress, @"(www.+|http.+)([\s]|$)");
은 전체 문자열을 반환합니다. regexp-guru가 나를 도와 줄 수 있습니까?
편집 :
해결이 이런 식으로 :
MatchCollection mc = Regex.Matches(adress, @"(www[^ \s]+|http[^ \s]+)([\s]|$)", RegexOptions.IgnoreCase);
adress = mc[0].Value;
WebBrowserTask task = new WebBrowserTask();
task.URL = adress;
task.Show();
는 당신의 도움에 대해 감사합니다! :)
** VERY ** 프리미티브 : ((? : https? : \/\/| www | [^ \ s] + \. [az] {2,3}) [^ \ s] *?) [\. \?; :]?'작동해야합니다. 하지만 URL을 둘러싸거나 그 안에있을 수있는 모든 메타 문자를 제거하려면 매우 긴 정규식이 필요합니다. –
이 부분의 머리가 켜져 있습니까? –
정규 표현식이 URL과 일치하도록하려는 사람들의 수와 함께 Microsoft는 공용 표현식의 표준 라이브러리를 만들어 어딘가에 .NET 프레임 워크에 저장해야합니다. 나는'Url.Matches (address)'또는'Guid.Matches (@string)'또는'DateTime.Matches (@string)'을 그냥 사용하는 것이 좋습니다. – kelloti