ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JavaScript] RegExp 객체
    개발/JavaScript 2022. 8. 15. 08:56

    RegExp 객체는 정규 표현식을 구현한 자바스크립트 표준 내장 객체입니다.
    RegExp 객체를 생성하는 문법은 다음과 같습니다.

     

    RegExp 객체 생성 방법

    • 리터럴 표기법의 매개변수는 두 빗금으로 감싸야 하며 따옴표를 사용하지 않습니다.
    • 생성자 함수의 매개변수는 빗금으로 감싸지 않으나 따옴표를 사용합니다.

     

    // 표현식 : /ab+c/i 
    new RegExp(/ab+c/, 'i') // 리터럴
    new RegExp('ab+c', 'i') // 생성자
    
    
    
    // 다른 리터럴 표기법
    
    const tel = '0101234567팔';
    const myRegExp = /^[0-9]+$/;
    console.log(myRegExp.test(tel)); // false

     

    문법

    new RegExp(검색패턴[, 플래그]);

     

    RegExp.prototype 메소드

    모든 RegExp 인스턴스는 RegExp.prototype으로부터 메소드와 프로퍼티를 상속받습니다.
    이렇게 상속받은 RegExp.prototype 메소드를 사용하여 정규 표현식을 표현할 수 있습니다.

    1. RegExp.prototype.exec()
    2. RegExp.prototype.test()

     

    exec() 메소드

    var targetStr = "abbcdefabgh";
    
    var firstResult = /ab+/.exec(targetStr);    // 패턴과 일치하는 문자열이 여러 개인 경우
    
    var secondResult = /abbb+/.exec(targetStr); // 패턴과 일치하는 문자열이 하나도 없는 경우
    
    firstResult;  // abb -> 가장 맨 처음으로 일치하는 문자열이 반환됨.
    
    secondResult; // null

     

    test() 메소드

    var targetStr = "abbcdefabgh";
    
    var firstResult = /ab+/.test(targetStr);    // 패턴과 일치하는 문자열이 여러 개인 경우
    
    var secondResult = /abbb+/.test(targetStr); // 패턴과 일치하는 문자열이 하나도 없는 경우
    
    firstResult;  // true
    
    secondResult; // false

     

    자바스크립트 RegExp.prototype 메소드

    메소드 설명
    exec() 인수로 전달된 문자열에서 특정 패턴을 검색하여, 패턴과 일치하는 문자열을 반환함.
    test() 인수로 전달된 문자열에 특정 패턴과 일치하는 문자열이 있는지를 검색하여, 그 결과를 불리언 값으로 반환함.
    toString() RegExp 객체의 정규 표현식과 같은 의미를 가지는 정규 표현식 리터럴 문자열을 반환함.

     

    RegExp.prototype 프로퍼티 (플래그)

    프로퍼티 설명
    global 검색 패턴을 비교할 때 일치하는 모든 부분을 선택하도록 설정하는 플래그인 'g'를 가리킴.
    ignoreCase 검색 패턴을 비교할 때 대소문자를 구분하지 않도록 설정하는 플래그인 'i'를 가리킴.
    multiline 검색 패턴을 비교할 때 여러 줄의 입력 문자열을 그 상태 그대로 여러 줄로 비교하도록 설정하는 플래그인 'm'을 가리킴.
    source 검색 패턴이 포함하고 있는 문자열을 가리킴.

     

     

    '개발 > JavaScript' 카테고리의 다른 글

    [JavaScript] 생성자  (2) 2022.09.11
    [JavaScript] addEventListener  (0) 2022.08.26
    [JavaScript] 정규표현식 모음  (0) 2022.08.05
    [JavaScript] 접근자 프로퍼티  (0) 2022.07.14
    [JavaScript] 메서드 체이닝  (0) 2022.07.01

    댓글

Designed by Tistory.