ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정규표현식 widh JavaScript
    기본 지식/정규표현식 2021. 6. 10. 12:12

     

    정규표현식 (RegExp)

     

    문자열을 검색하고 대체, 추출하는데 사용 가능한 일종의 형식 언어(패턴)

     

    // 생성자
    new RegExp('표현', '옵션')
    new RegExp('[a-z]', 'gi')
    
    //리터널
    /표현/옵션
    /[a-z]/gi

     

    정규표현식을 다루는 메소드

     

    정규식.test(문자열)
    // 일치 열부(Boolean) 반환
    
    문자열.match(정규식)
    // 일치하는 문자열의 배열(Array) 반환
    
    문자열.replace(정규식,대체문자)
    // 일치하는 문자열을 대체하고 대체된 문자열(String) 반환

     

    // 예제
    
    const str = `
    010-1234-5678
    ITBlue@tistory.com
    The quick brown fox jumps over the lazy dog.
    abbccccdddd
    `
    
    const regexp = /fox/gi
    // true
    console.log(regexp.test(str))
    
    // 010-1234-5678
    // ITBlue@tistory.com
    // The quick brown AAA jumps over the lazy dog.
    // abbccccdddd
    console.log(str.replace(regexp, 'AAA'))
    
    // 010-1234-5678
    // ITBlue@tistory.com
    // The quick brown fox jumps over the lazy dog.
    // abbccccdddd
    console.log(str)

     

    플래그 (옵션)

     

    플래그(옵션)
    g | 모든 문자 일치 (global)
    i | 영어 대소문자를 구분 않고 일치 (ignore case)
    m | 여러 줄 일치 (multi line)

     

    패턴

     

    ^ab | 줄(Line) 시작에 있는 ab와 일치
    ab$ | 줄(Line) 끝에 있는 ab와 일치
    . | 임의의 한 문자와 일치
    a|b | a 또는 b와 일치
    ab? | b가 없거나 b와 일치
    {3} | 3개 연속 일치
    {3,} | 3개 이상 연속 일치
    {3,5} | 3개 이상 5개 이하 연속 일치

     

    [abc] | a 또는 b 또는 c
    [a-z] | a 부터 z 사이의 문자 구간에 일치 (영어 소문자)
    [A-Z] | A 부터 Z 사이의 문자 구간에 일치 (영어 대문자)
    [0-9] | 0 부터 9 사이의 문자 구간에 일치 (숫자)
    [가-힣] | 가부터 힣 사이의 문자 구간에 일치 (한글)
    \w | 63개 문자 (Word, 대소영문52개 + 숫자10개 + _)에 일치
    \b | 63개 문자에 일치하지 않는 문자 경계 (Boundary)
    \d | 숫자 (Digit)에 일치
    \s | 공백 (Space, Tab 등)에 일치
    (?=) | 앞쪽 일치 (Lookahead)
    (?<=) | 뒤쪽 일치 (Lookbehind)

     


    참조

     

    https://heropy.blog/2018/10/28/regexp/

     

    정규표현식, 이렇게 시작하자!

    매일 쓰는 것도, 가독성이 좋은 것도 아니지만, 모르면 안되는 정규표현식. 저는 이렇게 공부하기 시작했습니다! (자바스크립트를 기준으로 설명합니다)

    heropy.blog

     

    댓글

Designed by Tistory.