[JavaScript] 정규식

윤지·2024년 11월 1일

JavaScript

목록 보기
18/30
post-thumbnail

정규식(Regular Expressions)은 텍스트 데이터에서 특정 패턴을 찾거나 수정하는 데 사용됨. 자바스크립트에서는 정규식을 통해 문자 검색, 대체, 유효성 검사 등을 쉽게 수행 가능


기본 구조: /패턴/플래그

  • 패턴: 찾고자 하는 문자열이나 문자 조합
  • 플래그: 패턴의 검색 방식을 설정하는 옵션

정규식의 기본 구조는 /패턴/플래그 형식을 따름. 패턴은 찾고자 하는 문자열을 나타내고, 플래그는 검색 조건을 지정함

주요 플래그 설명

자바스크립트에서 자주 사용하는 주요 플래그:

  • g (global): 문자열 내 모든 일치 항목을 찾음
    • 예: /ain/g는 "ain"이 포함된 모든 문자열을 찾음
    • g 플래그가 없으면 첫 번째로 일치하는 항목만 반환
  • i (case-insensitive): 대소문자를 구분하지 않고 검색
    • 예: /cat/i는 "cat", "Cat", "CAT" 등의 모든 대소문자 조합을 찾음
    • 대소문자를 구분하지 않아야 할 경우 유용하게 사용 가능

플래그 조합 사용 예시

플래그는 하나 이상 동시에 사용 가능하여 더 세밀한 검색이 가능함

const text = "Cat, cat, CAT";
const pattern = /cat/gi;
const matches = text.match(pattern);
console.log(matches); // Output: ["Cat", "cat", "CAT"]

위 예제에서는 /cat/gi를 사용하여 대소문자 구분 없이 문자열 내 "cat"이 등장하는 모든 항목을 찾음

활용법

const text = "The cat and the hat";
const pattern = /at/g;

// 특정 패턴('at')을 전역 검색하여 모든 일치 항목을 배열로 반환
const matches = text.match(pattern);
console.log(matches); // Output: ["at", "at"]

// 정규식을 사용하여 모든 'at' 패턴을 'AT'로 대체
const newText = text.replace(pattern, "AT");
console.log(newText); // Output: "The cAT and the hAT"
  1. match() 메서드를 사용해 "at"이 포함된 모든 문자열을 검색하여 배열로 반환
  2. replace() 메서드를 통해 "at"을 "AT"로 대체

자주 사용하는 정규식 패턴

패턴설명예시 (패턴)
.임의의 한 문자와 일치/c.t/
\d숫자와 일치/\d/
\w알파벳, 숫자, 언더바(_)와 일치/\w/
\s공백 문자와 일치/\s/
^문자열의 시작에 일치/^The/
$문자열의 끝에 일치/end$/
*앞 문자가 0회 이상 반복/he*/
+앞 문자가 1회 이상 반복/he+/
{n}앞 문자가 정확히 n회 반복/a{3}/
{n,}앞 문자가 최소 n회 반복/a{2,}/
[]대괄호 안의 문자들 중 하나와 일치/[aeiou]/
()그룹으로 묶어 하나의 단위로 사용 가능/(abc)/

✅ 마치며

정규식은 외우기보다 참고하며 사용하기

자주 사용하지 않는 패턴은 필요할 때 검색이나 참고 자료를 활용하도록 하자(gpt 👍)

profile
프론트엔드 공부 기록 아카이빙🍁

0개의 댓글