nginx 정규 표현 식 단축 테스트 방법

2833 단어
이전에 설정 할 때 로 컬 에서 nginx 서 비 스 를 시작 하여 location 규칙 을 수정 한 다음 에 nginx -s reload 또는 service nginx reload 기대 에 부합 되 는 지 판단 하려 고 계속 시도 했다.효율 이 매우 낮 다 는 것 을 알 수 있다.일부 온라인 정규 표현 식 테스트 (예 를 들 어 온라인 도구) 를 사용 하 는 것 은 라 이브 러 리 가 다 르 기 때문에 다소 차이 가 있 습 니 다.
정규 표현 식 은 서로 다른 규칙 엔진 이 있 습 니 다. 위 키 백과 의 Comparison of regular expression engines 를 참조 하 십시오.
nginx 는 PCRE 를 사용 합 니 다.
소스 에서 nginx 공식 문서 빌딩 nginx 캡 처
--with-pcre=path — sets the path to the sources of the PCRE library. The library distribution (version 4.4 — 8.40) needs to be downloaded from the PCRE site and extracted. The rest is done by nginx’s ./configure and make. The library is required for regular expressions support in the location directive and for the ngx_http_rewrite_module module.
Liux 의 grep 도 구 를 사용 하 는 것 을 권장 합 니 다.
windows 는 cygwin 이나 git for windows 의 git-bash.exe 를 사용 할 수 있 습 니 다.
$ grep --help

# ...

Regexp selection and interpretation:
  -E, --extended-regexp     PATTERN is an extended regular expression (ERE)
  -F, --fixed-strings       PATTERN is a set of newline-separated strings
  -G, --basic-regexp        PATTERN is a basic regular expression (BRE)
  -P, --perl-regexp         PATTERN is a Perl regular expression
  -e, --regexp=PATTERN      use PATTERN for matching
  -f, --file=FILE           obtain PATTERN from FILE
  -i, --ignore-case         ignore case distinctions
  -w, --word-regexp         force PATTERN to match only whole words
  -x, --line-regexp         force PATTERN to match only whole lines
  -z, --null-data           a data line ends in 0 byte, not newline

# ...
grep -P 명령 을 사용 하면 됩 니 다.
$ echo 'a.gif' | grep -P '\.(jp?g|gif|bmp|png)'

#  
a.gif

일치 하 는 부분 만 출력 하려 면 -o 인 자 를 추가 합 니 다.
$ echo 'a.gif' | grep -P -o '\.(jp?g|gif|bmp|png)'

#  
.gif

구체 적 인 perl 정규 표현 식 문법 은 참고 할 수 있 습 니 다.
Perl regular expressions man page
톰 의 고양이 - Perl 입문 (4) Perl 의 정규 표현 식
블 로그 anjia. ml / 2017 / 06 / 29 /... 약서 www. jianshu. com / p / 17eb0ba 22... 김 juejin. im / post / 5954 ad...

좋은 웹페이지 즐겨찾기