특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다.
정규표현식은 리터럴 또는 RegExp 생성자로 만든다.
var re = /ab+c/;
리터널 방식은 스크립트가 불러오는 시점에 컴파일 된다. 정규직이 상수라면 이렇게 사용하는 것이 성능을 향상시킨다.
var re = new RegExp("ab+c");
생성자는 런타임에 컴파일을 한다. 정규식의 패턴이 변경될 수 있거나 사용자 입력과 같이 패턴을 가져와야 하는 경우에 생성자 함수 방식을 쓴다.
즉 일반적인 경우엔 리터럴 동적인 경우 생성자
플래그는 정규표현식의 동작 방식을 정의한다.
리터럴에서는 접미사이고 생성자에서는 매개변수이다.
이름 | 내용 |
---|---|
g | global: 지정된 정규표현식을 여러 번 찾는다. |
i | ignoreCase: 지정된 정규표현식을 찾을 때 대소문자를 구분하지 않는다. |
m | multiline: 여러줄 모드에서 시작 연산자 ^와 끝 연산자 $가 아닌 각 행에 찾는다. |
매서드 | 내용 |
---|---|
RegExp .exec() | 정보를 가지고 있는 배열을 반환합니다. 대응되는 문자열을 찾지 못했다면 null을 반환한다. |
RegExp .test() | 대응되는 문자열이 있는지 검사하는 메소드, true 나 false를 반환한다. |
매서드 | 내용 |
---|---|
String .match() | 문자열이 정규식과 매치되는 부분을 검색한다. |
String .replace() | 대응되는 문자열을 찾아 다른 문자열로 치환하는 String 메소드이다. |
String .search() | 대응되는 문자열이 있는지 검사하는 String 메소드 이다. 대응된 부분의 인덱스를 반환한다. 대응되는 문자열을 찾지 못했다면 -1을 반환한다. |
String .split() | 정규식 혹은 문자열로 대상 문자열을 나누어 배열로 반환하는 String 메소드이다. |