정규 표현식
-
문자열에 나타나는 특정 문자 조합과 대응시키기 위해 사용하는 패턴. 이 패턴들은
RegExp의exec메소드,search메소드,split메소드와 함께 사용된다. -
정규 표현식은 줄여서
정규식이라고 부른다.
정규식 만들기
정규식 만들기에는 두 가지 방법이 있다.
- 정규식 리터럴(슬러쉬
/로 감싸는 방법)을 사용하는 방법
const re = /ab+c/;리터럴로 사용하면 스크립트가 불러와질 때 컴파일이 된다. 정규식이 상수로 이루어져 있다면 리터럴 방식이 성능향상에 도움이 된다.
RegExp객체의 생성자 함수를 호출하는 방법
const regexp = new RegExp('ab+c');생성자 함수를 사용하면 함수가 실행될 때 컴파일이 된다. 패턴이 변경되는 경우가 있거나 사용자의 입력을 받아 패턴처리하는 경우에는 생성자 함수를 사용한다.
정규식 패턴작성하기
/abc/ 와 같이 단순히 사용할 수 있지만, 좀 더 복잡한 특수 문자 사용하는 방법에 대해 정리해본다.
| Character | Meaning |
|---|---|
\ |
역슬러시 뒤에 오는 문자는 특별함을 의미한다./a*/ 은 a라는 문자가 0개이상 나타남을 의미하지만, /a\* 이라 표현하면 a* 문자 그대로를 해석한다. |
^ |
시작 부분에 대응한다. ^A라 함은 A로 시작하는 문자를 표현한다. |
& |
끝 부분과 대응한다. ^와 반대이다. |
플래그
플래그를 설정해줄 수 있으며 순서에는 구분이 없다.
| Flag | Description |
|---|---|
g |
전역 검색 |
i |
대소문자 구분 없음 |
정규식 테스트해볼 수 있는 사이트
- References