정규 표현식은 문자열 패턴을 매칭하기 위해 사용되는 표현식입니다. JavaScript에서는 내장된 정규 표현식 객체를 사용하여 문자열을 검색하고 조작할 수 있습니다.
정규 표현식 패턴 작성하기
정규 표현식 패턴은 슬래시 (/
)로 감싸진 문자열로 작성됩니다.
let pattern = /pattern/;
기본적인 매칭
정규 표현식을 사용하여 문자열과 패턴을 매칭하는 가장 간단한 방법은 test()
메서드를 사용하는 것입니다.
let pattern = /hello/;
let str = 'hello world';
let result = pattern.test(str); // true
플래그
정규 표현식 패턴 뒤에는 플래그를 사용하여 검색의 옵션을 설정할 수 있습니다. 주로 사용하는 플래그는 다음과 같습니다:
i
: 대소문자를 구분하지 않고 매칭합니다.g
: 문자열 내에서 모든 매칭을 찾습니다.m
: 문자열이 여러 줄로 이루어져 있을 때, 각 줄의 맨 처음과 맨 끝도 매칭합니다.
이러한 플래그를 사용하기 위해서는 정규 표현식 패턴 뒤에 슬래시를 닫은 후에 플래그를 추가합니다.
let pattern = /pattern/gi;
문자열에서 매칭된 부분 찾기
정규 표현식을 사용하여 문자열에서 매칭된 부분을 찾으려면 match()
메서드를 사용합니다.
let pattern = /hello/;
let str = 'hello world';
let result = str.match(pattern); // ['hello']
문자열 내에서 패턴 대체하기
정규 표현식을 사용하여 문자열 내에서 패턴을 찾아 다른 문자열로 대체하려면 replace()
메서드를 사용합니다.
let pattern = /hello/;
let str = 'hello world';
let newStr = str.replace(pattern, 'hi'); // 'hi world'
정규 표현식으로 문자열 분할하기
정규 표현식을 사용하여 문자열을 분할하려면 split()
메서드를 사용합니다.
let pattern = /\s+/;
let str = 'hello world';
let result = str.split(pattern); // ['hello', 'world']
정규 표현식을 사용한 검색
정규 표현식을 사용하여 문자열 내에서 패턴을 검색하려면 search()
메서드를 사용합니다.
let pattern = /hello/;
let str = 'hello world';
let result = str.search(pattern); // 0 (첫 번째 인덱스)
정규 표현식의 패턴 구성 요소
정규 표현식 패턴은 다양한 구성 요소를 사용하여 작성할 수 있습니다. 이 구성 요소는 복잡한 매칭 규칙을 만들 수 있게 해줍니다. 몇 가지 예시는 다음과 같습니다:
.
: 어떤 문자 하나와 매칭합니다.[]
: 대괄호 안의 어떤 문자 하나와 매칭합니다.^
: 시작 지점과 매칭합니다.$
: 끝 지점과 매칭합니다.*
: 이전 요소가 0번 이상 반복될 때 매칭합니다.+
: 이전 요소가 1번 이상 반복될 때 매칭합니다.?
: 이전 요소가 0번 또는 1번만 반복될 때 매칭합니다.
다양한 구성 요소를 조합하여 유연하고 정확한 매칭 규칙을 작성할 수 있습니다.
정규 표현식 사용 예시
다음은 정규 표현식을 사용한 몇 가지 예시입니다.
이메일 주소 검증
let pattern = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
let email = 'test@example.com';
let result = pattern.test(email); // true
전화번호 형식 일치 여부 확인
let pattern = /^\d{3}-\d{3,4}-\d{4}$/;
let phone = '010-1234-5678';
let result = pattern.test(phone); // true
이처럼 정규 표현식은 다양한 상황에서 유용하게 사용될 수 있습니다. 여러분은 위의 예시를 참고하여 더 복잡한 정규 표현식 패턴을 작성할 수 있습니다.