javascript 정규식 Look Around

모성종·2023년 11월 27일
0

Main Expression 을 만족하면서 추가로 상세한 조건을 검사하고싶을 때 복합적으로 사용하는 Look Around 를 정리한다.

description of lookarround from regexr.com

Main Expression이라고 할 수 있는 주 정규표현식으로 검사된 결과값에 Lookaround 결과를 추가로 진행하여 최종 결과값에 포함할지(Positive) 포함하지 않을지(Negative) 결정할 수 있는 표현식이다.

Look Ahead

Positive

Main Expression 뒤에 작성하며 정규식까지 일치한 결과만 최종 결과에 반영한다.

ex) (?=ABC)

\d(?=px)
1pt 2px 3em 4px // [2, 4]

예시로 \d (main expression) 모든 숫자 중에서 look ahead값인 "px" 앞에 있는 숫자만 결과에 포함한다.

Negative

Main Expression 뒤에 작성하며 정규식까지 일치하는 결과는 최종 결과에서 제외한다.

ex) (?!ABC)

\d(?!px)
1pt 2px 3em 4px // [1, 3]

예시로 \d (main expression) 모든 숫자 중에서 look ahead값인 "px" 앞에 있는 숫자는 결과에서 제외한다.

Look Behind

Positive

Main Expression 앞에 작성하며 정규식까지 일치한 결과만 최종 결과에 반영한다.

Look Behind 표현식은 지원하지 않는 브라우저가 있으니 사용에 유의해야한다.

ex) (?<=ABC)

(?<=\$)\d+
$100 ₩200 €300 ¥400 // [100]

예시로 \d (main expression) 모든 숫자 중에서 look behind값인 "$" 뒤에 있는 숫자만 결과에 포함한다.

Negative

Main Expression 뒤에 작성하며 정규식까지 일치하는 결과는 최종 결과에서 제외한다.

ex) (?<!ABC)

(?<!\$)\d+
$100 ₩200 €300 ¥400 // [100]

예시로 \d (main expression) 모든 숫자 중에서 look behind값인 "$" 뒤에 있는 숫자는 결과에서 제외한다.

profile
FE Developer

0개의 댓글