정규식으로 특정 단어를 가지지 않은 문자열 거르기

아파치 설정파일 중 정적 서비스 리소스나 파일은 아파치가 처리하고 나머지 리쿼스트는 node가 받도록 LocationMatch 디렉티브를 사용하는데 정규식으로 URL을 처리해서 프록시로 넘겨야 합니다.

/files/*/*/resources/* 를 제외한, / 로 시작하는 모든 문자열 지정하려면 어떻게 해야 하나요?

Rewrite Mod에 대해 알아보세요.

1 Like

^((?!^\/files\/)(?!.*\/resources\/).)+ 한테 글로벌이랑 멀티라인 속성 주면 되는데, 제외시키는 네가티브 그룹은 파서 종류마다 동작을 보장을 못하니 참고만 하십쇼,
정규식형한테 한 번에 여러 일 주면 빡세서 일 안 해줄 수도 있습니다.

\/files\/.*\/.*\/resources\/.*으로 두 번 거르는게 차라리 낫습니다.
어차피 정규식형 부르면 느려지는데 두번이나 한번이나…

1 Like

https://swtch.com/~rsc/regexp/regexp1.html

답은 O(n) regex 입니다

(새탭에서 이미지 열기 ㄱ)
직접 state machine 만드쉴?
저기서 동그라미 두개일때는 false 이고 하나일때는 true 반환하게 하면 됨니다

2 Likes