URL 줄 끝 또는 "/"문자와 일치하는 정규식
나는이 URL을 , 나는 어떤 그룹을 꺼내 정규 표현식에 일치하도록 노력하고있어. 내가 가진 문제는 URL 이 "/"및 추가 URL 텍스트로 끝나 거나 계속 될 수 있다는 것 입니다. 다음과 같은 URL을 일치시키고 싶습니다.
- http : // server / xyz / 2008-10-08-4
- http : // server / xyz / 2008-10-08-4 /
- http : // server / xyz / 2008-10-08-4 / 123 / more
그러나 다음과 같이 일치하지 마십시오.
그래서 내 최선의 방법은 다음과 같다고 생각했습니다.
/(.+)/(\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
'Programing' 카테고리의 다른 글
MS Word에 숭고한 텍스트 2 붙여 넣기 (0) | 2020.11.01 |
---|---|
How can moment.js be imported with typescript? (0) | 2020.11.01 |
WebStorm IDE에서 코드 글꼴 크기 변경 (0) | 2020.10.31 |
프로필이 응용 프로그램 식별자 자격에 대한 자격 파일의 값과 일치하지 않습니다. (0) | 2020.10.31 |
Android SDK 업데이트 :“폴더를 이동하지 못했습니다.” (0) | 2020.10.31 |