정규식이 있습니다. 들어오는 REST URL을 다시 쓰려고하는데 URL의 한 섹션을 제외하면 한 가지 유스 케이스에 얽매여 있습니다. "- $ 2 - $ 3 1 $" 새로운 URL을 서면으로 사용하는 부품으로문자열 섹션을 제외 할 때 정규식 역 참조
^(/[^/]+/(?:books))/([^/]+?)(?:/(?:(?!page).+?))?(?:/page/(\\d+))?$
예를 들어 내가 을 사용하고 있습니다 : 여기
내가 현재 사용하고 정규 표현식입니다. 여기 이 제대로 작동 예 ... 의도 한대로"/mySite/books/topic1/page/2" results in "/mySite/books - topic1 - 2"
"/mySite/books/topic1/subtopic1/page/2" results in "/mySite/books - topic1 - 2"
은 위의 모든 작업입니다. 문제는 URL에서 URL의 "topic1"부분을 제외하고 필요한 결과가 아닌 경우입니다. 예 : "/mySite/books/page/2" results in "/mySite/books - page - "
토픽이없고 페이지 번호가 여전히 $ 3이므로 $ 2는 공백이되어야합니다. 나는 무엇
"/mySite/books/page/2" results in "/mySite/books - - 2"
나는 제대로 작동 기존의 사람을 방해하지 않고 그 시나리오를 만족시키기 위해 내 정규식 무엇 변경할 수 있습니다 ... 출력으로 필요 ? 이 작업은 Java로 수행됩니다.
정규식 패턴을 사용하려고 할 수도 있습니다! 나는 약간의 변경을 가하여/선택 사항 인 페이지를 만들었고^(/ [^ /] +/books)/(? :(?! page /) ([^ /] +) /)? (? : page/(\\ d +))? $ –