2011-02-12 4 views
3

모두! 이 텍스트는 "uri가있는 일부 텍스트 http://test.com 및 다른 단어입니다." 그리고 나는 하나의 정규 표현식을 사용하여 uri의 일부를 가져와야합니다.RegEx : 텍스트의 URI 부분

string text = "Some text with uri http://test.com and other words."; 
string pattern = @"\b(\S+)://([^:]+)(?::(\S+))?\b"; 
MatchCollection matches = Regex.Matches(text, pattern); 

그리고 내가 "URI http://test.com 일부 텍스트"또는 "단어 1 http://test.com:5000 word2"을 쓸 때 그것은 작동합니다

나는이 시도합니다.

어디서 실수입니까?

+0

은 무엇입니까 작동 안함? 당신은 "그것이 효과가있다"고 말한다. – payne

+0

제 생각에이 사이트는'http://test.com과 다른 단어들 '을 반환합니다. 맞습니까? –

답변

1

두 번째 + 수정 욕심, 그래서 그것은 : 또는 라인의 끝을 명중하지 않는 한 그것은 http:// 후 모든 일치하는 것이을 시도해보십시오.

@"\b(\w+)://([^:]+?)(?::(\S+))?\b" 
+0

대단히 감사합니다! –

0

이 ... 가까이를 받아야 I "아직도 난 ... 당신이 얻을 원하는 것을 정확히 확인하지

당신은 당신이 도움이 될 원하는 결과를 보여줄 수 있다면 ...

\b(\S+)://([^: ]+)