ABOUT ME

배운 것들을 기록합니다

Today
Yesterday
Total
  • 정규표현식(Regular Expressions) 정리
    스터디/[패스트캠퍼스] 데브캠프: 김민태의 프론트엔드 개발 3기 2025. 3. 7. 12:20

    정규표현식(Regex)은 특정한 패턴을 찾아내고 처리하는 데 사용되는 문자열 매칭 기술이다. 주로 프로그래밍에서 텍스트 데이터에서 특정 규칙을 만족하는 문자열을 검색, 변환, 검증하는 데 활용된다.


    정규표현식의 주요 개념

    개념 설명
    패턴 특정한 규칙을 표현하는 문자열
    메타문자(Metacharacters) 특별한 의미를 가지는 기호들
    옵션(Flags) 정규표현식의 동작 방식을 조절하는 옵션

    1. 정규표현식 연습 사이트

    • Regexr : 정규표현식을 직접 실습할 수 있는 사이트

    2. 기본 문법

    (1) 구분자

    정규표현식은 /로 감싸서 작성한다.
    예시:

    /패턴/

    (2) 옵션 (Flags)

    옵션을 사용하면 정규표현식의 동작 방식을 변경할 수 있다.
    | 옵션 | 설명 |
    | --- | --- |
    | g | 패턴을 모두 찾기 |
    | i | 대소문자 구분 없이 검색 |

    예제:

    /abc/g  → 문자열에서 "abc"를 모두 찾음  
    /abc/i"abc", "ABC" 등 대소문자 무관하게 찾음  

    3. 메타문자 (Metacharacters)

    메타문자는 특정한 의미를 가지는 기호들이다.

    메타문자 설명 예제
    . 어떤 문자 하나 a.b → "acb", "a1b" 등
    + 바로 앞 패턴이 반복됨 a+b → "ab", "aab", "aaab" 등
    A|B A 또는 B apple|banana → "apple" 또는 "banana"
    [] 대괄호 안의 문자 중 하나와 매칭 [AB]+ → "A", "B", "AA", "AB" 등
    A-Z 특정 범위를 의미 [A-Z] → "A"부터 "Z"까지의 알파벳
    \ 메타문자를 일반 문자로 사용 \. → "." 문자 자체

    4. 특수 문자

    기호 설명 예제
    \d 숫자 (0-9) \d+ → "123", "4567" 등
    \D 숫자가 아닌 것 \D+ → "abc", "#$%" 등
    \w 알파벳, 숫자, 밑줄(_) \w+ → "hello", "world_123" 등
    \W \w가 아닌 것 \W+ → "!@#", " " (공백) 등

    정규표현식은 논리적으로 반대 개념을 가지는 연산자가 존재한다.
    예를 들어, \d는 숫자를 찾고, \D는 숫자가 아닌 것을 찾는 거울 논리를 갖는다.


    5. 정규표현식 활용 예제

    const text = "Hello, my number is 123-456-7890.";
    
    // 숫자만 찾기
    const numbers = text.match(/\d+/g);
    console.log(numbers); // ["123", "456", "7890"]
    
    // 대소문자 구분 없이 특정 단어 찾기
    const hasHello = /hello/i.test(text);
    console.log(hasHello); // true

    댓글

Designed by Tistory.