regex

broccoli·2021년 11월 12일
0

regex

목록 보기
1/2

0. regex 옵션

옵션설명
g글로벌
i대소문자 구별을 하지 않는다
u유니코드 매칭

그 밖에도 여러 옵션이 있는데 아직 사용한 일이 없음.

1. 그룹나누기

(...) : 괄호를 통해 캡쳐를 하는 그룹을 나눌 수 있다.

# 글로벌하게 . $ ? * | { } ( ) [ ] \ / + ^ 중 해당되는 것들 캡쳐링됨.
/([\.$?*|{}\(\)\[\]\\\/\+^])/g

# = 뒤에 문자가 캡쳐링 되는데 이때 ;는 제외된다.
=([^;]*)

# ?: 는 캡쳐링을 하지 말라는 의미. 그리고 ^는 시작부분을 의미 |는 or을 의미. 즉 그냥 시작하거나 ;로 시작하는데 캡쳐링은 하지 말라는 의미
(?:^|;)

2. named capturing

(?) 형태로 네이밍 그룹화한 정규식 캡쳐가능

const str = '/wv/promotion/3'
const reg = /^\/wv\/promotion\/(?<a>\w+)$/
reg.exec(str).groups // {a:'3'}

?:을 통해 그룹핑만하고 캡쳐에서는 제외하는 것도 가능하다.

99. etc

  • $1 $2 는 캡쳐링 된 부분들을 가리킨다.
  • ?: Match expression but do not capture it.
  • ?= Match a suffix but exclude it from capture.
  • ?! Match if the suffix is absent.
profile
🌃브로콜리한 개발자🌟

0개의 댓글