[JS] 정규 표현식(Regular expression; RegExp)

Chanki Hong·2023년 2월 16일
0

JavaScript

목록 보기
21/30
post-thumbnail

정규 표현식(Regular expression; RegExp)

  • 특정한 규칙으로 구성된 문자열들의 집합을 표현하는 언어.
  • 검색 엔진, 워드, 텍스트 편집기, 프로그래밍 언어 등에서 지원.
  • 런타임에 따라서 여러 가지 문법이 존재. (대표적으로 표준 POSIX, 확장 PCRE)
  • 약간의 차이점이 있지만 비슷함.
  • 가독성은 떨어지지만, 문자열의 특정 조건을 표현할때 조건문보다 간단하게 이용 가능.
  • 정규 표현식의 역할
    • 문자열 검색 (search)
    • 문자열 대체 (replace)
    • 문자열 추출 (extract)

RegExp with JavaScript

  • 정규 표현식은 하나의 객체.

정규 표현식 만들기

  • 2가지 방법으로 만들 수 있음.

리터럴(Literal)

  • / 로 감싸진 패턴.
  • /표현식/플래그
  • 리터럴은 스크립트를 불러올 때 컴파일 됨.
  • 바뀔 일이 없을 때 사용하면 성능 향상 가능.
const regExp = /^abc/gi

객체 생성자

  • RegExp 생성자 함수 호출.
  • new RegExg(표현식, 플래그)
  • 생성자 함수는 런타임에 컴파일 됨.
  • 바뀔 수 있거나, 사용자 입력 등 외부에서 가져오는 경우 사용.
const regExp = new RegExp('^abc', 'gi')

메서드

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

RegExp with String

  • String.prototype.match(regexp)
  • String.prototype.matchAll(regexp)
  • String.prototype.replace(regexp, newSubstr|function)
  • String.prototype.replaceAll(regexp, newSubstr|function)
  • String.prototype.search(regexp)
  • String.prototype.split(regexp)

0개의 댓글