Skip to content

Latest commit

 

History

History
141 lines (102 loc) · 3.75 KB

정규식표현.md

File metadata and controls

141 lines (102 loc) · 3.75 KB

정규표현식

  • 정규 표현식?
    • 문자열에서 특정한 문자를 찾아내는 도구
    • 정규표현식은 하나의 언어라고 할 수 있다


정규 표현식 생성

  • 컴파일

    • 컴파일은 문자열에서 어떤 것을 검출하고자 하는 패턴을 만드는 것이다 이를 위해서는 먼저 정규표현식 객체를 만들어야 한다

    • 정규 표현식 객체 만드는 방법

      1. 정규 표현식 리터럴

        // 따옴표 안의 문자가 문자열이라고 정의하는 것 처럼
        // 슬래쉬 안의 문자를 정규표현식 리터럴이라 정의한다
        var pattern = /a/ //a를 찾는다는 의미
      2. 정규 표현식 객체 생성자

        var pattern = new RegExp('a'); //a를 찾는다는 의미
  • 정규 표현식 메소드 실행

    1. RegExp.exec()

      console.log(pattern(exec('abcdef'))); // ["a"]
      console.log(pattern(exec('bcdefg'))); // null
    2. RegExp.test()

      console.log(pattern.test('abcdef')); // true
      console.log(pattern.test('bcdefg')); // false


문자열 메소드 실행

  • 문자열 객체의 몇몇 메소드로 정규 표현식을 사용할 수 있다

    • String.match() ⇒ RegExp.exec() 와 비슷
    console.log('abcdef'.match(pattern)); // ["a"]
    console.log('bcdefg'.match(pattern)); // null
    • String.replace() ⇒ 패턴을 검색하여 이를 변경한 후 리턴
    console.log('abcdef'.replace(pattern,'A')); // Abcdef 


정규 표현식 옵션

  • 정규표현식 패턴을 만들 때 옵션을 설정할 수 있고 이에 따라 검출되는 데이터도 달라진다

    • i
    // i를 붙이면 대소문자를 구분하지 않는다
    var xi = /a/;
    console.log("Abcde".match(xi)); // null
    
    var oi = /a/i;
    console.log("Abcde".match(oi)); // ["A"]
    • g
    // g를 붙이면 검색된 모든 결과를 리턴한다
    var xg = /a/;
    console.log("abcdea".match(xg)); // ["a"]
    
    var og = /a/g;
    console.log("abcdea".match(og)); // ["a","a"]


정규 표현식 요약

  1. 형식

    /패턴/플래그

    • 슬래쉬 사이에는 패턴
    • 슬래쉬 다음에는 옵션을 설정하는 플래그
  2. 매칭 패턴

    • a-zA-Z : 영어
    • ㄱ-ㅎ가-힣 : 한글
    • 0-9 : 숫자
    • . : 모든 문자열 (줄바꿈을 제외한)
    • \d : 숫자
    • \D : 숫자가 아닌 것
    • \w : 영어 알파벳, 숫자, _
    • \W : \w가 아닌 것
    • \s : 공백 (space)
    • \S : 공백이 아닌 것
  3. 검색 패턴

    • 대괄호 [ ] : 괄호의 문자들 중 하나
    • [^문자] : 괄호안의 문자를 제외한 것
    • ^문자열 : 특정 문자열로 시작
    • 문자열$ : 특정 문자열로 끝남
    • () : 그룹으로 묶음
    • \b : 단어의 처음/끝
    • \B : 단어의 처음/끝이 아님
  4. 수량 패턴

    • ? : 최대 한번
    • * : 없거나 있거나(여러개 있어도 됨)
    • + : 최소 한개
    • {n} : n개
    • {Min,} 최소 Min개 이상
    • {Min,Max} Min개 이상 Max개 이하
  5. 정규 표현식 플래그

    • g : 모든 문자 검색(Global)
    • i : 대소문자 구문 안함(Ignore Case)
    • m : 여러 행의 문자열에 대해 검색(Multi line)

[자바스크립트] 정규표현식(Regular Expression) 기초/기본 쉽고 상세한 사용 방법 정리(샘플 예제 코드)