JavaScript 자료형 RegExp

    2018-04-20 18:30:19 작성

    RegExp

    정규표현식은 검색 패턴 을 형성하는 일련의 문자입니다 .
    텍스트의 데이터를 검색 할 때 이 검색 패턴을 사용하여 검색 대상을 설명 할 수 있습니다.
    정규 표현식은 단일 문자 또는 더 복잡한 패턴이 될 수 있습니다.
    정규식을 사용하여 모든 유형의 텍스트 검색텍스트 바꾸기 작업을 수행 할 수 있습니다 .

    • 정규표현식 객체 생성

      다음과 같은 형식으로 정규표현식 객체를 생성할 수 있습니다.
      /pattern/modifiers

      • /pattern/i은 정규식 입니다.
      • pattern 은 검색에 사용될 패턴입니다.
      • i 는 수식어 입니다(대소문자 구분하지 않음)
    • string 객체에서 사용

      string 객체의 search(), replace()에서 정규식을 사용할 수 있습니다.

    • 속성

      global 수식어 g가 설정되었는지 여부
      ignoreCase 수식어 i가 설정되었는지 여부
      multiline 수식어 m가 설정되었는지 여부
      lastIndex 다음 일치 항목을 시작할 인덱스
      source RegExp 패턴 텍스트를 반환
      constructor RegExp 객체의 prototype을 생성한 함수를 반환
      prototype RegExp 객체에 속성 및 메서드를 추가 할 수 있습니다
    • toString()

      RegExp 패턴 텍스트를 반환

    • exec()

      문자열에서 패턴을 검색하고 캡쳐된 문자열을 배열로 반환합니다.
      캡쳐할 문자열이 없으면 null 객체를 반환합니다. 반환된 배열은 두가지 속성이 추가 됩니다.

      index 패턴이 일치한 위치를 나타냅니다.
      input 매개변수로 전달받은 문자열

      수식어가 g가 아닐 경우lastIndex 속성이 0으로 고정

      수식어가 g일 경우lastIndex 속성이 변화함

      캡쳐 그룹정규식에 ()으로 그룹화하여 캡쳐함

    • test()

      패턴을 검색하고 결과에 따라 true 또는 false를 반환합니다.

    • 정적 속성

      이 속성은 exec() 메서드나 test() 메서드를 실행하는 과정에서 생기는 정보를 얻는데 사용합니다.
      오페라는 짧은 이름을 지원하지 않습니다.

      정식 이름 짧은 이름 설명
      input $_ 마지막은 테스트 한 문자열
      lastMatch $& 마지막으로 일치한 문자열
      lastParen $+ 마지막으로 일치한 캡쳐그룹
      lastParen $+ 마지막으로 일치한 캡쳐그룹
      leftContext $` input 문자열에서 lastMatch 앞쪽의 문자열
      rightContext $' input 문자열에서 lastMatch 다음의 문자열
      $n n은 1 - 9 까지의 캡쳐그룹을 나타냅니다.

    정규식 문법

    • 수식어

      수식어 설명
      i 대소문자를 구분하지 않음
      g 모두에 일치(모든 일치 항목을 찾음)
      m 여러 라인에 일치
    • 대괄호일련의 문자 1개와 매칭됩니다.

      표현 설명
      [abc] 대괄호 사이의 문자를 찾습니다.
      [^abc] 대괄호 사이에 없는 문자를 찾습니다.
      [0-9] 대괄호 사이의 숫자 0 - 9 를 찾습니다.
      [^0-9] 대괄호 사이에 없는 문자를 찾습니다.(숫자가 아닌 모든 문자)
      (x|y) |로 구분하여 대안을 찾습니다. x 또는 y
    • 특수문자

      표현 설명
      . 한개의 문자와 일치 합니다.(줄바꿈 문자는 제외)
      \w 단어를 찾습니다. [a-zA-Z0-9_]와 동일한 기능
      \W 단어가 아닌 문자 찾습니다. [^a-zA-Z0-9_]와 동일한 기능
      \d 숫자를 찾습니다. [0-9]와 동일한 기능
      \D 숫자가 아닌 문자를 찾습니다. [^0-9]와 동일
      \s 공백문자를 찾습니다.
      \S 공백문자가 아닌 문자를 찾습니다.
      \b 단어의 시작과 끝부분이 일치하는 항목을 찾습니다.
      \B 단어의 시작과 끝부분이 아닌 일치하는 항목을 찾습니다.
      \0 널문자를 찾습니다.
      \n 새줄 문자를 찾습니다.
      \f 폼피드 문자를 찾습니다.
      \r 개리지리턴 문자를 찾습니다.
      \t 탭문자를 찾습니다.
      \v 수직 탭문자를 찾습니다.
      \xxx 8진수 xxx 로 지정된 문자를 찾습니다.
      \xdd 16진수 xx로 지정된 문자를 찾습니다.
      \uxxxx 16진수 xxxx로 지정된 유니코드 문자를 찾습니다.
    • 수량자수량을 정의합니다.

      표현 설명
      n+ 하나이상의 n을 포함하는 문자열과 일치
      n* n이 0회 이상 포함된 문자열과 일치
      n? n이 0회 또는 1회있는 문자열과 일치
      n{x} n이 x개 만큼 포함된 문자열과 일치
      n{x,y} n이 최소 x개, 최대 y개 만큼 포함된 문자열과 일치
      n{x,} n이 x개 이상 포함된 문자열과 일치
      n$ 문자열의 끝이 n이 있는 문자열과 일치
      ^n 문자열의 시작이 n이 있는 문자열과 일치
      n?=x/td> x 이전에 있는 n 문자열과 일치
      n!=x/td> x 이전에 있지 않은 n 문자열과 일치