정규식(regular expression)은 문자열 내에서 특정한 패턴을 찾거나, 문자열을 특정한 규칙으로 변형하는데 사용하는 일종의 문자열 검색 도구다. RegExp 객체를 이용해 생성되며, '/'기호로 감싸서 표현한다
정규식 패턴
- 문자 리터럴 : 일반 문자(알파벳, 숫자, 특수문자 등)는 그대로 사용한다. 예_ /hello/는 "hello"문자열과 매치된다
- 메타 문자 : 일반 문자가 아닌 특별한 의미를 가지는 문자로, 백슬래시(\)와 함께 사용한다. 예_ `\d`는 숫자 문자를 나타낸다
- 문자 클래스 : 대괄호안에 포함된 문자는 그 중 하나와 매친된다 예_[aeiou]는 모음 문자와 매치
- 특수문자
자음 모음 정규식 패턴
- 자음 : [^aeiou]
- []는 문자클래스를 나타내며, 대괄호 안에 그 중 하나와 매치된다
- ^는 문자 클래스의 첫번째 문자로 시작될 경우, 해당 문자 클래스에 포함되지 않는 문자를 매치시킨다
- 모음 [aeiou]
- []는 문자클래스를 나타내며, 대괄호 안에 그 중 하나와 매치된다
const str = "Hello, World!";
const vowels = str.match(/[aeiou]/gi); // ["e", "o", "o"]
const consonants = str.match(/[^aeiou\W]/gi); // ["H", "l", "l", "W", "r", "l", "d"]
- gi 는 플래그로 대소문자를 구분하지 않고, 전체 문자열에서 비교한다
정규식 플래그
- 정규 표현식은 전역 탐색이나, 대소문자 무시와 같은 특성을 지정하는 플래그를 가질 수 있으며 플래그는 단독으로 사용할 수도, 순서에 상관없이 여럿을 지정할 수도 있다

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions
'기초다지기 > Javascript' 카테고리의 다른 글
| 문자열 localeCompare에 대해 알아보자 (1) | 2023.10.19 |
|---|---|
| 배열 오름차순 sort() (0) | 2023.05.11 |
| var, let, const에 대해 알아보자 (0) | 2023.04.13 |
| [javascript] parseInt와 Math.floor 차이? (0) | 2023.03.26 |
| ==, === 차이 (0) | 2023.03.19 |