[JavaScript] RegExp 객체

2022. 7. 6. 20:10·Language/JavaScript
728x90

RegExp 객체

RegExp 객체는 정규 표현식을 구현한 자바스크립트 표준 내장 객체다.

RegExp 객체를 생성하는 문법은 다음과 같다.

문법
new RegExp(검색패턴[, 플래그]);
  • 검색 패턴을 나타내는 정규 표현식은 따옴표나 슬래시(/)로 감싸야 한다.
  • 기본 검색 설정을 변경할 수 있는 플래그는 필요할 때만 전달할 수 있다.

RegExp.prototype 메소드

모든 RegExp 인스턴스는 RegExp.prototype으로부터 메소드와 프로퍼티를 상속받는다.

이렇게 상속받은 RegExp.prototype 메소드를 사용하여 정규 표현식을 표현할 수 있다.

  • RegExp.prototype.exec()
  • RegExp.prototype.test()

exec() 메소드

exec() 메소드는 인수로 전달된 문자열에서 특정 패턴을 검색하여, 패턴과 일치하는 문자열을 반환한다.

만약에 패턴과 일치하는 문자열이 없으면 null을 반환한다.

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

test() 메소드

test() 메소드는 인수로 전달된 문자열에 특정 패턴과 일치하는 문자열이 있는지를 검색한다.

만약에 패턴과 일치하는 문자열이 있으면 true를, 없으면 false를 반환한다.

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 프로퍼티

자바스크립트는 정규 표현식에서 사용하는 다양한 정보를 RegExp.prototype 프로퍼티를 이용해 제공하고 있다.

  • RegExp.prototype.global
  • RegExp.prototype.ignoreCase
  • RegExp.prototype.multiline
  • RegExp.prototype.source

자바스크립트 RegExp.prototype 프로퍼티

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

'Language > JavaScript' 카테고리의 다른 글

[JavaScript] 바닐라 자바스크립트(Vanilla JavaScript)  (0) 2022.07.18
[JavaScript] 비동기처리(async/await)  (0) 2022.07.07
[JavaScript] 정규 표현식의 응용  (0) 2022.07.06
[JavaScript] 정규 표현식의 개념  (0) 2022.07.06
[JavaScript] strict 모드  (0) 2022.07.06
'Language/JavaScript' 카테고리의 다른 글
  • [JavaScript] 바닐라 자바스크립트(Vanilla JavaScript)
  • [JavaScript] 비동기처리(async/await)
  • [JavaScript] 정규 표현식의 응용
  • [JavaScript] 정규 표현식의 개념
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    web
    리액트
    MySQL
    객체
    TypeScript
    CSS
    JavaScript
    HTML
    변수
    Python
    제어문
    event
    object
    파이썬
    next.js
    Java
    react
    array
    타입스크립트
    자바스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[JavaScript] RegExp 객체
상단으로

티스토리툴바