내 코드는 아래의 3 가지 가능한 URL 중 하나 를 제공 할 수 있으며 전달되는 URL에 따라 모든 종류의 사용자 이름이 될 수있는 사용자 이름 ' mrsmith ' 를 추출 하고 'somewebsite', '/ artist / '및'/ portfolio / '는 일정하게 유지됩니다.
http://www.somewebsite.com/artist/mrsmith
http://mrsmith.somewebsite.com/
http://mrsmith.somewebsite.com/portfolio/variablenames
정규식을 사용하여이를 수행하는 우아한 방법이 있습니까?
아래 정규식은 /
기호 다음에 .
또는 $
(끝)이 오는 바로 뒤에 mrsmith를 찾습니다.
(?<=\/)mrsmith(?=\.|$)
설명:
(?<=\/)
긍정적 인 lookbehind가 사용됩니다. /
기호 바로 뒤에 마커를 설정합니다 .mrsmith(?=\.|$)
다시 문자열이 있는지 확인하고 mrsmith
거기에 있으면 mrsmith
문자열 뒤에 오는 기호 가 점인지 끝 인지 다시 확인합니다 . 이러한 조건이 참이면 해당 mrsmith
문자열 과 일치 합니다.최신 정보:
귀하의 정규식은 다음과 같습니다.
(?=www\.).*\/\K.*|(?<=http:\/\/)[^\.]*
또는
(?=www\.).*\/\K.*|(?!www\.)(?<=http:\/\/)[^\.]*
/
줄에 포함 된 경우 마지막 이후의 문자열과 일치 www.
하거나 해당 줄에없는 경우 http://
첫 번째 이후의 sting과 일치합니다 ..
www.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다