2010-12-28 4 views
2

문자열 목록이 주어지면 어느 것이 유효한지 찾아 보려합니다. http:// URL..NET에서 URL을 찾으십니까?

var urls = strs.Where(str => urlRegex.matches(str));

이 그것을 할 수있는 더 관용적/자연/간단한 방법이 있나요 : 내 첫 번째 방법은 정규식을 사용하여 이런 일을 할 것입니까?

답변

0

System.Uri Class에 내장 된 구문 분석을 사용하여 URL의 유효성을 검사 할 수 있습니다. 이것은 URL에 포함 된 쿼리 문자열을 올바르게 처리 할 수있는 이점이 있으며 .Net이 URL로 사용할 수있는 문자열을 모두 파싱 할 수 있어야합니다.

TryCreate를 사용하여 각 문자열의 구문 분석을 시도한 후에 Uti.Scheme 속성이 HTTP uri인지 확인하십시오. 그렇지 않으면 파일 시스템 경로가 필터를 통과합니다.

1

Uri.TryCreate을 사용하고 성공적으로 구문 분석 된 URI의 Scheme 속성을 테스트하여 HTTP인지 확인합니다.

그러나 찾고자하는 URI가 더 큰 텍스트 블록의 하위 문자열 인 경우 정규식을 사용하는 것이 좋습니다.

1

나는 정규식 기반 접근법에 가겠다. 당신의 접근 방식은 나에게 잘 들었다.

관련 문제