2011-06-12 6 views
3

웹 서버와 같은 URL의 유효성을 검사해야합니다. 비슷한 것 http://localhost:8080/xyz포트 정규화 된 URL의 정규식

어떻게 정규식을 사용하여 할 수 있습니까? 죄송합니다. 정규식을 처음 사용하셨습니다.

+0

카슨

안부, 희망? –

+3

* 정규식을 사용하는 URL은 무엇을 확인 하시겠습니까? – Gumbo

+1

정규 표현식을 사용하여 URL의 유효성을 어떻게 확인합니까? [2xx] (http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_Success)가 있는지 보려면 * 액세스 *하는 것이 더 좋지 않습니까? – Johnsyweb

답변

7

해당 사양은 rfc 3986에 있으며 가능한 모든 URL 구성 요소에 대한 일반 구문 정의가 포함되어 있습니다. 그러나, 당신의 목적을 위해 이것은 아마도 너무 일반적 일 것입니다. 오직 매칭 다소 응축 식은 경우

http[s]?://(([^/:\.[:space:]]+(\.[^/:\.[:space:]]+)*)|([0-9](\.[0-9]{3})))(:[0-9]+)?((/[^?#[:space:]]+)(\?[^#[:space:]]+)?(\#.+)?)?

로 단순화 될 수

http[s]?://(([[:alpha:][:digit:]-._~!$&'\(\)*+,;=]|%([0-9A-F]{2}))+|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))(:[0-9]+)?(/([[:alpha:][:digit:]-._~!$&'\(\)*+,;=]|%([0-9A-F]{2}))*)+(\?([[:alpha:][:digit:]-._~!$&'\(\)*+,;=/?]|%([0-9A-F]{2}))+)?(#([[:alpha:][:digit:]-._~!$&'\(\)*+,;=/?]|%([0-9A-F]{2}))+)?

는 적절한 구문에 대해 확신 할 수있을 것이다 HTTP (S) 프로토콜 하에서 URLS url 구성 요소.

보다 제한적인 패턴을 원할 수 있습니다. 전체 텍스트 검색 및 iana 등록 최상위 도메인 만 허용합니다.

은 당신이 지금까지해야합니까, 그것은 도움이

+0

이 정규식은 후행 슬래시가있는 경우에는 일치하지 않습니다. 후행 슬래시와도 일치하도록 어떻게 확장 하시겠습니까? – yayitswei

관련 문제