정규표현식(Regular Ecpression)
문자열에서 특정 문자 조합을 찾기 위한 패턴이다.
정규 표현식 만들기
1. 정규 표현식 리터럴
슬래시로 패턴을 감싸서 작성한다.
스크립트를 불러올 때 컴파일되므로, 바뀔 일이 없는 패턴의 경우 리터럴을 사용하면 성능이 향상될 수 있다.
const re = /abc/
2. RegExp 객체의 생성자 호출
생성자 함수를 사용하면 정규 표현식이 런타임에 컴파일 된다. 바뀔 수 있는 패턴이나, 사용자 입력 등 외부 출처에서 가져오는 패턴의 경우 사용한다.
const re = new RegExp('abc')
플래그
정규 표현식은 전역 탐색이나 대소문자 무시와 같은 특성을 지정하는 플래그를 가질 수 있다.
순서에 상관없이 한꺼번에 여럿을 지정할 수 도 있다.

플래그 | 설명 |
g | 전역 탐색 (없는 경우 최초 검색 결과 한번만 반환, 있는 경우 모든 검색 결과 반환) |
i | 대소문자를 구분하지 않음 |
m | 여러 줄에 걸쳐 탐색 |
플래그 구문
// 1. 정규 표현식 리터럴
const re = /pattern/flags;
// 예시 : p를 대소문자 구분하지 않고(i), 전역 탐색한다(g)
const re = /p/ig
// 2. RegExp 객체 생성자
const re = new RegExp('pattern', 'flags');
// 예시 : p를 대소문자 구분하지 않고(i), 전역 탐색한다(g)
const re = new RegExp('p', 'ig')
JavaScript에서 정규 표현식 사용하기
메서드 | 설명 |
exec() | 문자열에서 일치하는 부분을 탐색한다. 반환 : 일치 정보를 나타내는 배열, 없는 경우 null |
test() | 문자열에서 일치하는 부분이 있는지 확인한다. 반환 : true, false |
match() | 캡처 그룹을 포함해서 모든 일치를 담은 배열을 반환한다. (없다면 null 반환) |
matchAll() | 캡처 그룹을 포함해서 모든 일치를 담은 반복기를 반환한다. |
search() | 문자열에서 일치하는 부분을 탐색한다. 반환 : 일치하는 부분의 인덱스, 없는 경우 -1 반환 |
replace() | 문자열에서 일치하는 부분을 탐색하고 그 부분을 대체 문자열로 바꾼다. |
replaceAll() | 문자열에서 일치하는 부분을 모두 탐색하고, 그 부분을 대체 문자열로 바꾼다. |
split() | 정규 표현식 또는 문자열 리터럴을 사용해서 문자열을 부분 문자열의 배열로 나눈다. |
Reference
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_expressions
정규 표현식 - JavaScript | MDN
정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴입니다. JavaScript에서는 정규 표현식도 객체로서, RegExp의 exec()와 test() 메서드를 사용할 수 있습니다. String의 match(), matchA
developer.mozilla.org
https://poiemaweb.com/js-regexp
RegExp | PoiemaWeb
정규표현식(Regular Expression)은 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용한다. 예를 들어 회원가입 화면에서 사용자로 부터 입력 받는 전화번호가 유효한지 체크할 필요가 있다.
poiemaweb.com
'JavaScript' 카테고리의 다른 글
[JavaScript] 클래스와 인스턴스 (0) | 2023.03.15 |
---|---|
[JavaScript] 고차 함수 (higher order function) (0) | 2023.03.14 |
[JavaScript] addEventListener, 이벤트 종류 (0) | 2023.03.11 |
원시/참조 자료형, 얕은복사 깊은복사 (0) | 2023.03.06 |
[JavaScript] 데이터타입 (0) | 2023.02.20 |
댓글