정규 표현 식 교체 에 대한 생각 (상식)
며칠 전에 nginx 를 설정 한
subs_filter
이 모듈 은 웹 페이지 가 되 돌아 오 는 내용 을 바 꿀 수 있 는 역할 을 합 니 다.subs_filter " " "Hello world" r;
예 를 들 어 상소 코드 는 원래 홈 페이지 에 포 함 된
를 모두 Hello world
로 바 꿀 수 있다. 마지막 r
은 정규 일치 라 고 표시 할 수 있다. 즉, 첫 번 째 매개 변 수 는 정규 일치 라 고 쓸 수 있다. 그리고 나 는 문 제 를 만 났 다. 내 가 바 꾼 내용 은 확실 하지 않 고 하나의 링크 라 는 것 만 알 지만 나 는 전체 링크 의 정규 를 다 쓸 수 없다.링크 의 url 이 너무 많이 변 했 기 때문에 저 는 머리 꼬리 부분 을 제한 하여 대응 하 는 내용 과 일치 할 수 있다 고 생각 했 습 니 다.해결 방법
두미 가 같 음 을 제한 하면 머리 꼬리 를 일치 하 는 정규 와 내용 으로 바 꾸 는 과정 에서 두 미 를 모두 쓸 수 있 습 니 다. 예 를 들 어:
subs_filter " .*? " " Hello world " r;
이상 은 데이터 xxxx 결 과 를 데이터 로 바 꿀 수 있 습 니 다. Hello World 결 과 는 같은 원리 로 url 을 교체 해도 됩 니 다. url 의 정규 가 어떻게 쓰 는 지 알 필요 가 없습니다. 머리 와 꼬리 부분 이 한정 되 어 있 으 면 됩 니 다.
기타
python 을 쓰 는 습관 이 re. findall 습관 으로 일치 하 는 그룹 을 만 들 기 때문에 괄호 안의 내용 만 바 꿀 줄 알 았 습 니 다.
subs_filter " (.*?)" "Hello world" r;
이 문법 은 잘못된 것 입 니 다. nginx 의 subsfilter 는 이런 문법 이 없습니다.
이 글 을 쓴 이 유 는 제 가 그 당시 에 논리 적 인 구덩이 에 빠 졌 기 때 문 입 니 다. 만약 에 정규 안에 머리 와 꼬리 를 썼 다 면 머리 와 꼬리 는 제 가 원 하 는 것 이 아니 었 습 니 다. 어떻게 해 야 할 지 생각 했 습 니 다. 머리 와 꼬리 를 쓰 지 않 으 면 제 가 일치 하 는 내용 을 찾 을 수 없 었 습 니 다. 그런데 갑자기 생각 났 습 니 다. 바 꿀 필요 가 없 는 내용 은 바 뀐 내용 에서 다시 쓰 면 됩 니 다. 아주 간단 합 니 다.
정규 바 꾸 기 안에 정규 가 일치 하면 내용 이 필요 없 이 바 꾼 내용 에 다시 한 번 쓰 면 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.