ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정규 표현식
    Note 2021. 4. 1. 12:31

    정규 표현식을 줄여서 '정규식'이라고 하기도 한다.

     

    정규식을 만드는 방법에는 두 가지

     

    1. 정규식 리터럴(슬래쉬"/"로 감싸는 패턴)을 사용하는 방법

     

    var re = /ab+c/;

     

    2. RegExp 객체의 생성자 함수를 호출하는 방법

     

    var re = new RegExp("ab+c");

    생성자 함수를 사용하면 정규식이 실행 시점에 컴파일됩니다. 정규식의 패턴이 변경될 수 있는 경우, 혹은 사용자 입력과 같이 다른 출처로부터 패턴을 가져와야 하는 경우에는 생성자 함수를 사용하는 것이 좋다.

     

    Character

    검색에서 하나 이상의 b들을 찾거나, 혹은 공백을 찾는 것과 같이 '있는 그대로의 대응' 이상의 대응을 필요로 할 경우, 패턴에 특수한 문자를 포함시킨다. 예를 들어, /ab*c/ 패턴은  'a' 문자 뒤에 0개 이상의 'b' 문자(* 문자는 바로 앞의 문자가 0개 이상이라는 것을 의미)가 나타나고 바로 뒤에 'c' 문자가 나타나는 문자 조합에 대응된다. 문자열 "cbbabbbbcdebc," 에서 위의 패턴은 부분 문자열 "abbbbc" 와 대응된다.

    ^x x 문자로 시작
    x$ x 문자로 종료
    .x x로 끝나는 문자
    x+ x 문자가 한번 이상 반복
     x? x 문자가 존재할 수도, 존재하지 않을 수도 있음을 의미
    x|y or 를 표현하며 x 또는 y 문자가 존재
    x{n} x를 n번 반복한 문자를 찾음
    x{n,} x를 n번 이상 반복한 문자를 찾음
    x{n, m} x를 n번 이상, m번 이하 반복하는 문자를 찾음
    (x) 그룹을 표현하며 x 를 그룹으로 처리함을 의미

     

    Flag

    정규식은 여섯 개의 플래그를 설정해줄 수 있으며, 이를 통해 전역 검색 또는 대소문자 구분 없는 검색을 수행할 수 있다. 이 플래그들은 각기 사용될 수도 있고 함께 사용될 수도 있고 순서에 구분이 없다.

    g 전역 검색
    i 대소문자 구분 없는 검색
    m 다중행(multi-line) 검색
    u 유니코드; 패턴을 유니코드 코드 포인트의 나열로 취급

     

    'Note' 카테고리의 다른 글

    익명 함수, 선언적 함수  (0) 2021.04.05
    Webpack  (0) 2021.04.01
    크롬으로 모바일 키보드 테스트  (0) 2021.03.31
    script 태그의 위치  (0) 2021.03.29
    [css] 다른 요소에 영향을 주는 hover  (0) 2021.03.28

    댓글