2013-03-01 2 views
4

요청한 URI에서 3 개의 요소를 캡처해야합니다. ID 반면정규 표현식과 일치하는 URI

/users/{id}.{size}.{type} 

숫자 및 크기 일 수있다 : 다음과 같이 URI의

유효한 포맷이 될 것이다. 유형은 'jpg'또는 'png'만 가능합니다.

비틀림은 크기가 선택 사항이라는 것입니다. 따라서 URI의 다른 형식은 다음과 같습니다 다음과 같이

/users/{id}.{type} 

유효한 예는 다음과 같이

/users/123.100.jpg 
/users/123.100.png 
/users/123.jpg 
/users/123.png 

잘못된 예는 다음과 같습니다

/users/asd.jpg 
/users/123.tiff 
/users/123..jpg 
/users/123..100..jpg 
/users/123..100.jpg 
/users/123.100 

감사합니다.

+0

무엇을 추출 할 수 있습니까? –

답변

2

이 정규 표현식을 사용해보십시오. 그것은 id, size and type

먼저이 정규식이 유효한 패턴과 일치하는지 확인합니다.

\/users\/(\d+)(?:\.(\d+))?\.(jpg|png) 
  • ID : (?<=/)\d+
  • 크기 : (?<=\.)\d+(?=\.). url이 유효한 방식으로 구성되었다고 가정합니다.
  • 유형이 정규식 당신을위한 검증을 수행해야 .*(jpg|png)
+0

나는 여기에서 그것을 시도했다 http://www.rubular.com/r/3cVPEHOmTr 그리고 문제는 그것이 '크기'그룹을 '.' 반면 '.' 포함되어서는 안된다! – Peymankh

+0

@ Peymankh 정규식이란? 초기 또는 크기 특정 하나? –

+0

초기 것. 링크를 클릭하면 정규식을 찾을 수 있습니다. – Peymankh

1

:

/users/(\d+\.){1,2}(jpg|png) 

예는 여기를 참조하십시오 http://regexr.com?33vba

+0

@ 카타 나는 당신을 얻지 못했습니다. 내 대답에 링크를 클릭하고 예제를 보았습니까? 무슨 뜻 이니? – Kent

+0

신경 쓰지 마라, 나는 정말로주의를 기울이지 않았다. 죄송합니다 –

관련 문제