정규표현식 (regex)

김선우·2022년 6월 11일
0

Posting

목록 보기
17/60

정규식, 간단히 말하면 특정 문자 조합을 찾기 위한 패턴이다.

사용할 수 있는 메소드로는

test(),exec 등이 있다 (실제로 사용해본 건 test() 한 가지이다.)

정규 표현식은 두 가지 방법으로 만들 수 있다.

    1. 리터럴. 아래와 같이 슬래시로 패턴을 감싸서 작성. (실습 o)
const re = /ab+c/
    1. RegExp 객체의 생성자 호출(실습 X)
const df = new RegExp('ab+c')

생성자 함수를 사용해서 정규표현식을 선언할 경우, 런타임에 컴파일 된다. 바뀔 가능성이 있거나, 외부 출처에서 자겨오는 패턴일 경우 이렇게 보통 사용한다고 한다.

우리가 자주사용하는 정규표현식에는 String, Number를 나타내는 정규 표현식 정도가 있겠다.

  • String: \w
  • Number: \d

간단한 예제 코드이다(퀴즈였다.)

  console.log(/^\d{4}\.\d+\.\d+$/.test("2018.01.01")); // true

  console.log(/^\d{4}\.\d{2}\.\d{2}$/.test("2018.012.012")); // false

  console.log(/^\d{3}-\d{4}-\d{4}$/.test("010-1234-5678")); // true

  console.log(/^\d{3}-\d{4}-\d{4}$/.test("010-1234-567800")); // false

  console.log(/^\w{3}@\w{3}\.com$/.test("aaa@bbb.com")); // true

  console.log(/^\w{3}@\w{3}\.com$/.test("aaa@bbb.coms")); // false
  • / : 정규표현식의 범위를 나타낸다. / 부터 / 까지 정규표현식 입니다. 라는 뜻이다.
  • ^, $ : 시작과 끝을 나타내는 표현이다. ^가 없으면 /안쪽에있는 정규 표현식을 포함해 이전 텍스트까지 포함시킨다. 다시말해 데이터의 시작점이다.
  • $ : 끝범위 라는 뜻이다. 데이터의 끝점이다.
  • \d : 숫자
  • {} : 몇글자인지를 뜻한다. 비슷한 의미로 +가 붙으면 1글자 또는 2글자 라는 뜻이고 {3, 4} 와 같이 적으면 3글자 또는 4글자 라는 뜻이다. 중괄호안이 숫자 1개만 들어가있으면 정확히 그 갯수 만큼 존재해야 한다.
profile
생각은 나중에..

0개의 댓글