자바스크립트 정규표현식

(2021-09-25)

정규표현식


1. 자바스크립트 정규표현식정규표현식 참조

  ㅇ 2개의 슬래시(/) 사이에 `문자열 패턴 식(정규표현식)`을 줌
     - 例) var testRegExp = /(\.\w{3,4}$)/;  
        . 마침표(.)가 있고, 
        . 그 뒤에 3 혹은 4개의 문자(w{3,4})가 연속하며,
        . 이들을 서브 패턴( ( ) )화 해서,
        . 문자열 끝($)에서 찾음


2. 자바스크립트 정규표현식의 주요 패턴 문자메타 문자 (특수 문자 기호)                                  ☞ 정규표현 메타 문자 참조
     -  ^ : 행의 처음
     -  $ : 행의 끝
     -  직전 문자 반복을 나타내는 수량자
        .  * (0회 이상 매치) : 매치시 배열 반환, 미 매치시 빈 배열 반환
           .. 例) "aaaac".match(/a*/) => ["aaaa"]
           .. 例) "12a 12b 12c".match(/12d*/) => ["12"]
           .. 例) "12a 12b 12c".match(/12b*/g) => ["12","12b","12"]
           .. 例) "aab aac".match(/k*/); => [""]
           .. 例) "da caa baaa".match(/a*/); => [""]
        .  + (1회 이상 매치) : 매치시 배열 반환, 미 매치시 null 반환
           .. 例) "aab aac".match(/k*/); => null
           .. 例) "da caa baaa".match(/a+/); => ["a"]
           .. 例) "da caa baaa".match(/a+/g); => ["a", "aa", "aaa"]
        .  ? (0 또는 1회 만 매치) : 매치시 배열 반환, 미 매치시 빈 배열 반환
        .  +? (1회 만 매치)
        .  *? (최소 매치)
     -  반복 범위 지정을 나타내는 수량자
        .  {n,m} (범위 지정 반복, n회부터 m회까지 반복)
     -  특정 용도 앵커
        .  \d : 1개 숫자에 일치
        .  \w : 1개 문자에 일치
        .  \. : 마침표 `.` (임의 한 문자 `.`와의 혼동 방지)
     -  [ ] : 1개 문자 클래스
        . 특정한 한 문자를 나타냄 (例: 영어 소문자 모음 1개 문자 [aeiou])
     -  ( ) : 서브 패턴, 그룹화

  ㅇ 수정자(modifier) 또는 옵션 지정 (플래그)
     -  g : 전역 검색 
        . 모든 일치를 전부 대상으로 함. 그렇지 않으면 최초 일치 만 하게 됨.
     -  i : 대소문자 구분 안함
     -  m : 일치 대상에 줄바꿈이 있더라도 전체 검색
     -  u
     -  y

  ㅇ 조건
     -  | : OR 조건 


3. 자바스크립트 정규표현식의 생성 방법 둘(2)생성자 함수에 의한 생성 방식
     - 例) const regexp1 = new RegExp(/^abc/i);
           const regexp1 = new RegExp(/^abc,'i');
           const regexp1 = new RegExp('^abc','i');  

  ㅇ 리터럴(Literal)에 의한 생성 방식
     - 例) const regexp1 = /^abc/;


4. 자바스크립트 정규표현식메소드String 객체메서드 
     - 문자열.search(패턴)  : 패턴에 부분 일치하는 위치(인덱스)를 반환
        . (비일치면, -1 반환)
     - 문자열.match(패턴)   : 패턴전방 일치하는 문자열을 배열로 반환
        . (비일치면, null 반환)
        . 例) "aab aac".match(/a/g); => ["a","a","a","a"]
        . 例) "aab aac".match(/a+/); => ["aa","aa"]
     - 문자열.split(패턴)   : 패턴에 일치하는 문자열들을 분할시켜 배열화 반환
     - 문자열.replace(패턴 또는 바뀔 문자열, 바꿀 문자열)
        . 패턴에 일치하는 문자열을 지정한 문자열로 치환
        . 例) "aA bB cC".replace("c","C") => "aA bB CC"

  ㅇ RegExp 객체메서드
     - 패턴.exec(문자열)    : 패턴에 일치하는 최초 문자열 1개 만을 배열로 반환
        . (비일치면, null 반환)
     - 패턴.test(문자열)    : 패턴에 일치하면 true, 못하면 false 반환


5. 자바스크립트 정규표현식정규 표현식의 테스트용 사이트 : regexr.com 등

  ㅇ 정규표현식의 例  ☞ 정규표현식 예 참조

JS 활용
   1. JS 활용   2. JS 문자열 활용   3. JS 수치 활용   4. JS 정규표현식   5. JS 웹 출력   6. 문자열 템플릿  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"