정규표현식 최소 일치

2019. 11. 11. 23:06· 개발/기타

참고 링크
https://adnoctum.tistory.com/544
http://www.moneybook.co.kr/pages/542845

 

정규표현식은 기본적으로 마지막 조건에 대해서 여러개가 일치하면 전부 가져오게 된다.

 

?filename=1406100586522_img.JPG&expires=1573486297&credential=asdf
이런 값에서

 

/filename=(.+)\\&/g
이런 조건으로 가져오게 되면

 

filename=1406100586522_img.JPG&expires=1573486297&
여기까지 가져오게 된다.

 

.+ 메타문자에서 모든 문자열을 체크해버리고, &로 끝나는 마지막까지 전부 가져오게 되는 것이다.

즉, 조건이 만족되는 곳의 끝까지 가져와버린다.
이것을 최대 매치, 혹은 탐욕스러운(greedy) 매치라고 한다.

 

최소한의 일치만, 즉 아래처럼 가져오고자 하면
filename=1406100586522_img.JPG&

최소 매치, 게으른(lazy) 또는 욕심없는(non-greedy) 매치를 사용해야 한다.

 

최소 매치를 사용하기 위해서는 ?를 사용하면 된다.
/filename=(.+?)\\&/g
이렇게 사용한다면 위 예시처럼 최소한의 일치하는 것만 가져오게 된다.

 

단, 단독으로 쓰는 메타문자 물음표와 혼동하면 안 된다.

최소 매치의 물음표는 다른 메타문자, 정확하게는 + * {n,}라는 세 개의 메타문자 뒤에 각각 붙여서 사용한다. 이들 세 개의 메타문자는 수량자(quantifier)라고도 부르는데, 글자의 개수에 관한 메타문자이기 때문이다.

저작자표시 비영리 변경금지 (새창열림)

'개발 > 기타' 카테고리의 다른 글

[IoT] Home Assistant + Zigbee 스위치로 핸드폰으로 불 켜보기 1편  (1) 2024.12.07
AES-256 암호화 후의 길이는 얼마일까  (1) 2021.07.12
시놀로시 나스에 Git 서버 올리는 방법  (0) 2019.06.21
'개발/기타' 카테고리의 다른 글
  • [IoT] Home Assistant + Zigbee 스위치로 핸드폰으로 불 켜보기 1편
  • AES-256 암호화 후의 길이는 얼마일까
  • 시놀로시 나스에 Git 서버 올리는 방법
HuiYa
HuiYa
8년차 Backend / Frontend 개발자의 기술 블로그
HuiYa
by HuiYa
HuiYa
전체
오늘
어제
  • 분류 전체보기 (24)
    • 공지 (0)
    • 일상 (0)
    • 개발 (19)
      • Network (1)
      • Backend (9)
      • Frontend (3)
      • Electron (2)
      • 기타 (4)
    • 프로젝트 (1)
      • Penly (1)
    • IT 기기 (3)
      • 리디 페이퍼 (1)
    • 취미 (0)

인기 글

최근 글

최근 댓글

태그

  • js
  • 핸드폰불
  • electron-builder
  • 0.12.3
  • 빌드
  • javascript
  • nginx
  • SpringBoot
  • 메일
  • html
  • 피니아
  • 인증처리
  • ds920
  • synology
  • 아파치
  • jjwt
  • natural sort order
  • 일렉트론
  • electron
  • 시놀로지
  • CVE-2021-44228
  • spring
  • 최소매치
  • 최소일치
  • build
  • apache
  • DS920+
  • pinia
  • 엔진엑스
  • 스크롤다크모드
hELLO · Designed By 정상우.v4.2.2
HuiYa
정규표현식 최소 일치
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.