Programing

URL 줄 끝 또는 "/"문자와 일치하는 정규식

lottogame 2020. 10. 31. 09:14
반응형

URL 줄 끝 또는 "/"문자와 일치하는 정규식


나는이 URL을 , 나는 어떤 그룹을 꺼내 정규 표현식에 일치하도록 노력하고있어. 내가 가진 문제는 URL 이 "/"및 추가 URL 텍스트로 끝나 거나 계속 될 수 있다는 것 입니다. 다음과 같은 URL을 일치시키고 싶습니다.

그러나 다음과 같이 일치하지 마십시오.

그래서 내 최선의 방법은 다음과 같다고 생각했습니다.

/(.+)/(\d{4}-\d{2}-\d{2})-(\d+)[/$]

끝에있는 문자 클래스에는 "/"또는 줄 끝이 포함되어 있습니다. 캐릭터 클래스는 "$"에 만족하지 않는 것 같습니다. 올바른 그룹을 되돌 리면서 이러한 URL을 가장 잘 구별 할 수있는 방법은 무엇입니까?


/(.+)/(\d{4}-\d{2}-\d{2})-(\d+)(/.*)?$

/ 또는 내용의 끝을 일치 시키려면 (/|\z)

이는 여러 줄 일치를 사용하지 않는 경우에만 적용됩니다 (예 : 줄 바꿈으로 구분 된 URL 목록이 아닌 단일 URL과 일치하는 경우).


당신이 가지고있는 것의 업데이트 된 버전을 넣으려면 :

/(\S+?)/(\d{4}-\d{2}-\d{2})-(\d+)(/|\z)

나는 \S+?아무것도 및 모든 것을 일치시키는 것이 아니라 공백이 아닌 ( )에 대한 욕심없는 일치로 시작을 변경했습니다 ( .*)


이제 원하는 것을 수행 할 몇 가지 정규식이 있으므로 적절하게 다룹니다.

무엇 언급되지 않은 것은 왜 시도하지 않습니다 일 : 내부 문자 클래스 $(뿐만 아니라 ^, ./) 특별한 의미가 없기 때문에 [/$]일치하는 문자 중 하나 /또는 문자 $대신 정규식을 종료 ( /) 또는 일치 줄 끝 ( $).


Ruby와 Bash에서는 $괄호 안에 사용할 수 있습니다 .

/(\S+?)/(\d{4}-\d{2}-\d{2})-(\d+)(/|$)

(이 솔루션은 Pete Boughton과 유사하지만 문자열의 끝을 의미 하는를 사용하는 $대신 행의 끝을 의미 하는을 사용 \z합니다.)

참고 URL : https://stackoverflow.com/questions/175103/regex-to-match-url-end-of-line-or-character

반응형