프로그래밍

[regex] 정규표현식 플래그

znvlcm 2022. 5. 12. 11:44
/pattern/flag

플래그란 ? 

패턴 검색 설정

복수로 사용 가능

ex) /gm 

참고자료 :https://ko.javascript.info/regexp-introduction

1) /g  : global

패턴과 일치하는 모든 것을 탐색

없을 시 패턴과 일치하는 첫 번째 결과만 반환

2) /i : case insensitive

대소문자구분 없이 탐색 

A = a를 같게 인식

3) /m: multiline

다중 행 모드 활성화 

4) /s : single line(dotall)

문자클래스 "." 으로 검색시 개행문자 \n도 포함

원래 문자클래스 "."은 개행문자를 포함하지 않음

문자클래스는 아래 표 참조

문자클래스
\d  숫자
\D 숫자가 아닌 문자
\s 스페이스, 탭, 줄 바꿈 문자
\S  \s를 제외한 모든 문자
\w 라틴 문자, 숫자, 밑줄 '_'
\W \w를 제외한 모든 문자
정규 표현식 's' 플래그가 있으면 모든 문자, 없으면 줄 바꿈 \n을 제외한 모든 문자

5) /u : unicode

유니코드 전체 지원

플래그 사용시 surrogate pair처리 가능 

유니코드는 4바이트이기 때문에 잘못된 결과가 나올 수 있음 이때는 

/p{property}/u 를 사용해 검색이 가능 

ex) /\p{L}/u => 유니코드 문자를 검색 

    /x\p{Hex_Digit}\p{Hex_Digit}/u => 16진수 숫자

참고 내용 : https://ko.javascript.info/regexp-unicode

6) /y: sticky

문자 내 특정 위치에서 검색진행 

특정위치 lastIndex등을 지정해서 검색을 진행가능 

728x90

'프로그래밍' 카테고리의 다른 글

RESTful API  (0) 2021.09.03