정규표현식

Bedakim·2020년 6월 28일
1
post-thumbnail

💁‍♂ 정규표현식(Regular Expression)이란?

특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다.

정규표현식 만들기

정규표현식은 리터럴 또는 RegExp 생성자로 만든다.

리터럴

var re = /ab+c/;

리터널 방식은 스크립트가 불러오는 시점에 컴파일 된다. 정규직이 상수라면 이렇게 사용하는 것이 성능을 향상시킨다.

RegExp 생성자


var re = new RegExp("ab+c");

생성자는 런타임에 컴파일을 한다. 정규식의 패턴이 변경될 수 있거나 사용자 입력과 같이 패턴을 가져와야 하는 경우에 생성자 함수 방식을 쓴다.

즉 일반적인 경우엔 리터럴 동적인 경우 생성자

플래그

플래그는 정규표현식의 동작 방식을 정의한다.

리터럴에서는 접미사이고 생성자에서는 매개변수이다.

이름내용
gglobal: 지정된 정규표현식을 여러 번 찾는다.
iignoreCase: 지정된 정규표현식을 찾을 때 대소문자를 구분하지 않는다.
mmultiline: 여러줄 모드에서 시작 연산자 ^와 끝 연산자 $가 아닌 각 행에 찾는다.

RegExp 매서드

매서드내용
RegExp
.exec()
정보를 가지고 있는 배열을 반환합니다.
대응되는 문자열을 찾지 못했다면 null을 반환한다.
RegExp
.test()
대응되는 문자열이 있는지 검사하는 메소드, true 나 false를 반환한다.

리터럴 매서드

매서드내용
String
.match()
문자열이 정규식과 매치되는 부분을 검색한다.
String
.replace()
대응되는 문자열을 찾아 다른 문자열로 치환하는 String 메소드이다.
String
.search()
대응되는 문자열이 있는지 검사하는 String 메소드 이다.
대응된 부분의 인덱스를 반환한다. 대응되는 문자열을 찾지 못했다면 -1을 반환한다.
String
.split()
정규식 혹은 문자열로 대상 문자열을 나누어 배열로 반환하는 String 메소드이다.
profile
좌충우돌 우당탕탕 험난한 개발 여정기

0개의 댓글