정규 표현식

HS K·2023년 2월 21일
0

정규 표현식

문자열에서 특정 문자 조합을 찾기 위한 패턴이다. 정규 표현식 패턴은 /abc/처럼 단순한 문자로 구성하거나, /ab+c/와 /Chapter (\d+).\d*/처럼 단순한 문자와 특수 문자의 조합으로 구성할 수도 있다.


  • 정규 표현식 리터럴
const re = /ab+c/

정규 표현식 리터럴은 스크립트를 불러올 때 컴파일되므로, 바뀔 일이 없는 패턴의 경우 리터럴을 사용하면 성능이 향상될 수 있다.

  • RegExp 객체의 생성자 호출
const re = new RegExp('ab+c')

특수문자의 종류

문자 클래스

글자와 숫자처럼 다른 유형의 문자를 구분한다.

\, ., \cX, \d, \D, \f, \n, \r, \s, \S, \t, \v, \w, \W, \0, \xhh, \uhhhh, \uhhhhh, [\b]

어서션

어서션에는 줄이나 단어의 시작과 끝을 나타내는 경계와, 일치가 가능한 방법을 나타내는 패턴(전방탐색, 후방탐색, 조건 표현식 등)이 포함된다.

^, $, x(?=y), x(?!y), (?<=y)x, (?<!y)x, \b, \B

그룹과 범위

표현 문자의 그룹과 범위를 나타낸다.

(x),(?:x), (?<Name>x), x|y, [xyz], [^xyz], \Number

수량자

일치할 문자나 표현이 반복되어야 할 횟수를 나타낸다.

*, +, ?, x{n}, x{n,}, x{n,m}

유니코드 속성 이스케이프 (en-US)

\p{UnicodeProperty}, \P{UnicodeProperty}

JavaScript에서 정규 표현식 사용하기

정규 표현식은 RegExp의 메서드 test()와 exec(), String의 메서드 match(), replace(), search(), split()에서 사용할 수 있다.

const myRe = /d(b+)d/g;
const myArray = myRe.exec('cdbbdbsbz');

정규식 안에 변수 넣는 방법

	const 동적변수 = 'abc';
	const regex = new RegExp(`[${동적변수}]`, 'g');
	console.log(regex) // /[abc]/g

예제

	const call = 'abxdeydeabz'
    call.match(regex); // ['a', 'a']
	call.match(regex).length; // 2

https://velog.io/@sangbooom/JS-정규식-안에-변수-넣는-방법

profile
주의사항 : 최대한 정확하게 작성하려고 하지만, 틀릴내용이 있을 수도 있으니 유의!

0개의 댓글