JS | 정규표현식(1) : Basics

Yeseul·2021년 4월 6일
0

JavaScript

목록 보기
5/10
post-thumbnail


정규표현식은 문자열을 처리하는 방법 중 하나로, 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용한다. 반복문이나 조건문으로 표현해야하는 복잡한 연산도 정규표현식을 사용하면 보다 간단하게 표현할 수 있다. 정규표현식은 리터럴 표기법으로 생성할 수 있으며 리터럴 표기법의 형식은 위의 그림과 같다.

1. 플래그

플래그는 정규표현식의 검색방법을 지정한다.

FlagMeaningDescription
iImgnore Case대소문자를 구분하지 않고 검색한다.
gGlobal문자열 내의 모든 패턴을 검색한다.
mMulti Line문자열의 행이 바뀌더라도 검색을 계속한다.
const targetStr = 'Is this all there is?';

// 문자열 내의 is를 대소문자 구별하여 한 번만 검색
let regExp = /is/;
targetStr.match(regExp) // ["is", index: 5, input: "Is this all there is?", groups: undefined]

// 문자열 내의 is를 대소문자 "구별하지 않고 모두" 검색
regExp = /is/ig
targetStr.match(regExp) //  (3) ["Is", "is", "is"]
  • 옵션사항으로 생략가능하다.

  • 플래그를 지정하지 않을 경우
    타깃 문자열 내에서 검색하려는 문자는 대소문자를 구분하여 검색하게 되며 검색 문자와 매칭되는 대상이 1개 이상이더라도 첫 번째 매칭한 대상만을 반환하고 검색을 종료한다.

2. 패턴

패턴에는 검색하고 싶은 문자열을 지정한다.

표현식의미
.문자, 숫자, 기호, 공백 등을 포함한 모든 문자
문자 자릿수를 지정할 때도 사용
^ xx로 시작하는 문자열
[^ xyz ]not. 부정을 의미
x, y, z를 제외한 모든 문자 (숫자, 문자, 기호 포함)
x$x로 끝나는 문자열
x?x가 없거나 하나인 문자열
x*x가 없거나 한 번 이상 반복되는 문자열
x+x가 한 번이상 반복되는 문자열
x{n}x가 n번 반복되는 문자열
x{n,}x가 n번 이상 반복되는 문자열
x{n, m}앞문자 x가 n번 이상 m번 이하 반복되는 문자열
x | y
[xy]
OR
x 또는 y
[x-y]범위지정
x ~ y 까지의 문자
()그룹지정
\d숫자
\D숫자가 아닌 것
\wword를 의미
알파벳, 숫자, _ 중의 한 문자
\Wnot /w
알파벳, 숫자, _를 제외한 나머지 문자
\s공백 문자
\S공백 문자가 아닌 것
  • 이스케이핑(escaping)
    위와 같은 정규식에서 특정 의미를 지닌 특수 문자를 검색하고 싶은 문자로서 패턴에 지정하고 싶다면 백슬래시 \를 사용한다.
    예를 들어 마침표 .가 들어가는 문자를 검색하고 싶을 때 /./이 아닌 /\./로 패턴을 지정한다.
    이러한 \의 역할을 이스케이핑(escaping)이라 한다.

  • []로 묶인 문자는 OR로 연결된 하나의 문자로 인식한다.


poiemaweb | 5.26 정규표현식
zvon | Regular Expression Tutorial

profile
하루하루, 차곡차곡 👩🏻‍💻

0개의 댓글