ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 31_RegExp
    모던 자바스크립트 딥 다이브 독학 2023. 11. 22. 10:01

    정규 표현식

    일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어

    문자열을 대상으로 패턴 매칭 기능 제공

    반복문과 조건문 없이 패턴을 정의, 테스트하지만 가독성이 좋지 않은 문제가 있다

    정규 표현식 생성

    const regexp = /is/i;          // 패턴: is, 플래그: i(대소문자 구별하지 않고 검색)

    RegExp 생성자 함수 사용하여 RegExp 객체 생성 가능

    new RegExp(pattern[, flags])

    RegExp 메서드

    • RegExp.prototype.exec → 인수로 전달받은 문자열에 대해 정규 표현식 패턴 검색하여 매칭 결과를 배열로 반환. 매칭 결과 없는 경우 null 반환. g 플래그 지정해도 첫 매칭 결과만 반환
    • RegExp.prototype.test → 매칭 결과를 불리언 값으로 반환
    • String.prototype.match → 대상 문자열과 인수로 전달받은 정규 표현식과의 매칭 결과를 배열로 반환. g 플래그 지정하면 모든 매칭 결과를 배열로 반환

    플래그

    • i → 대소문자 구별하지 않고 패턴 검색
    • g → 대상 문자열 내에서 패턴과 일치하는 모든 문자열을 전역 검색
    • m → 문자열 행이 바뀌더라도 패턴 검색 지속

    패턴

    • 문자열 검색
    • 임의의 문자열 검색 → const regExp = /…/g;
    • 반복 검색 → const regExp = /A{1,2}/g;
    • OR 검색 → const regExp =/A|B/g;
    • \d: 숫자, \D: 문자, \w: 알파벳, 숫자, 언더스코어, \W: 알파벳, 숫자, 언더스코어가 아닌 문자
    • NOT 검색 → const regExp = /[^0-9]+/g;
    • 시작 위치로 검색 → const regExp = /^https/;
    • 마지막 위치로 검색 → const regExp = /com$/;

    자주 사용되는 정규표현식 예

    • 특정 단어로 시작하는지 검사
    • 특정 단으로 끝나는지 검사
    • 숫자로만 이루어진 문자열인지 검사
    • 하나 이상의 공백으로 시작하는지 검사
    • 아이디로 사용 가능한지 검사
    • 메일 주소 형식에 맞는지 검사
    • 핸드폰 번호 형식에 맞는지 검사
    • 특수 문자 포함 여부 검사

    '모던 자바스크립트 딥 다이브 독학' 카테고리의 다른 글

    33_Symbol  (0) 2023.11.30
    32_String  (0) 2023.11.23
    30_Date  (2) 2023.11.21
    29_Math  (0) 2023.11.19
    28_Number  (0) 2023.11.03
Designed by Tistory.