오징어 url_regex가 문자와 일치하지 않습니다

오징어 url_regex가 문자와 일치하지 않습니다

url_regex acl이 있습니다: ^http(s)://bitbucket.org/example/*

그러나 URL은 http(s)://bitbucket.org/example_test/*와 일치합니다.

^http(s)://bitbucket.org/example/* 끝에 있는 "/"를 고려하지 않은 것 같습니다.

하위 폴더 일치 예제로 무엇이든 일치시키고 싶습니다. 예: bitbucket.org/example/case_1 bitbucket.org/example/case_2, bitbucket.org/example_bad/case_3

정규 표현식의 특별한 혼합인 것으로 보이며 "/"를 고려하지 않습니다.

누구든지 여기서 무엇이 잘못되었는지 볼 수 있습니까?

답변1

~처럼스틸 드라이버 라고car*t, 일치 와 동일한 이유로 일치 cat  -  *이전 문자의 수를 나타냅니다.0을 포함.  r*와 사이의 0 과 일치하며  r, 과 사이의 슬래시 0과 일치합니다.at/*example_test/*

http(s)://bitbucket.org/example (하위 디렉터리 없이) 일치시키시겠습니까 ? 그렇지 않은 경우에는 사용하기 쉽습니다.

^http(s)://bitbucket.org/example/

또는

^http(s)://bitbucket.org/example/.*$

만약 너라면하다일치시키는 것이 http(s)://bitbucket.org/example조금 더 까다롭습니다 . exampleURL 끝에 있거나 슬래시가 뒤에 와야 합니다 . 일부 정규식 엔진에서는 다음과 같이 말할 수 있습니다.

^http(s)://bitbucket.org/example(/|$)

그 중 |inside (... 는 )"또는"을 의미합니다. 예를 들어 grep -E이것을 지원하십시오. 이것이 Squid에서 작동하는지 모르겠습니다.


Squid를 사용하면 여러 정규식을 지정할 수 있나요? 그렇다면 구체적으로 기재해 주십시오.

^http(s)://bitbucket.org/example$

그리고

^http(s)://bitbucket.org/example/

관련 정보