본문 바로가기

기능구현/개념 원리

정규식

  • 정의
    • 정규식은 특정한 규칙을 가진 문자열의 집합 을 표현하는데 사용하는 형식 언어입니다.
    • 객체
  • 목차
    • pattern 작성
      • 정규식 만들기
      • 정규식 패턴 작성
        • 일치시킬 기본 리터럴
        • 일치시킬 특수문자
        • 일치시킬 패턴
    • pattren 검색

 

 

정규식 만들기

두 가지 방법의 구성

  • 다음과 같이 슬래시로 묶인 패턴으로 구성된 정규식 리터럴 사용
    • const re = /ab+c/;
  • RegExp또는 다음과 같이 객체 의 생성자 함수를 호출합니다 .
    •  const re = new RegExp('ab+c');
      • 정규식 패턴이 변경될 것임을 알고 있거나 패턴을 모르고 사용자 입력과 같은 다른 소스에서 가져오는 경우 생성자 함수를 사용합니다.

 

 

정규식 패턴 작성

  • 문자 조합
    • 단순 문자 : ,
    • 특수 문자 : /abc/
    • OR 문자

 

Using simple patterns

 

 

Using special characters Pattern

설명 및 예와 함께 각 범주에 맞는 다양한 특수 문자 목록을 제공

 

list

  1. Character classes
    1. 사전적 정의 > 타입
    2. Distinguish different types of characters. For example, distinguishing between letters and digits.
    3. 다양한 유형의 타입을 구별하십시오. 예를 들어, '문자'와 '숫자'를 구별합니다.
  2. Assertions
    1. 사전적 정의 > 주장
    2. Assertions include boundaries, which indicate the beginnings and endings of lines and words, and other patterns indicating in some way that a match is possible (including look-ahead, look-behind, and conditional expressions).
    3. 행과 단어의 시작과 끝을 나타내는 경계와의 일치
    4. 가정 설정문 또는 어서션은 프로그램 안에 추가하는 참·거짓을 미리 가정하는 문
  3. Groups and backreferences
    1. 사전적 정의 > 그룹 과 역참조
    2. Groups group multiple patterns as a whole, and capturing groups provide extra submatch information when using a regular expression pattern to match against a string. Backreferences refer to a previously captured group in the same regular expression.
    3. 그룹은 전체적으로 여러 패턴을 그룹화
    4. 캡처 그룹은 정규식 패턴을 사용하여 문자열과 일치시킬 때 추가 부분 일치 정보를 제공
    5. 역참조는 동일한 정규식에서 이전에 캡처된 그룹을 참조
  4. Quantifiers
    1. 사전적 정의 > 수량자
    2. Indicate numbers of characters or expressions to match.
    3. 일치시킬 문자 또는 표현식의
  5. Unicode property escapes
    1. 사전적 정의 > 유니코드 속성 이스케이프
    2. Distinguish based on unicode character properties, for example, upper- and lower-case letters, math symbols, and punctuation.
    3. 대문자 및 소문자, 수학 기호 및 구두점과 같은 유니코드 문자 속성을 기반으로 구별

 

 

 category (범주) 

Special characters in regular expressions.

 

문자/구성목차특징

\, ., \cX, \d, \D, \f, \n, \r, \s, \S, \t, \v, \w, \W, \0, \xhh, \uhhhh, \uhhhhh_[\b] Character Type
  • 캐릭터
    • 리터럴
    • digit
    • 유니코드
  • 캐릭터 구별할 경우
^, $, x(?=y), x(?!y), (?<=y)x, (?<!y)x, \b,\B Assertions
  • 리터럴 일치 할 경우
    • 시작과 끝 같은 경계선 일치
(x), (?:x), (?<Name>x), x|y, [xyz], [^xyz], \Number Groupsboundaries
  • 다수 패턴 일치 할 경우
    • 1개 그룹
    • 여러 그룹
    • 역참조
*, +, ?, , _ x{n}x{n,}x{n,m} Quantifiers
  • 수량자 일치 할 경우
\p{UnicodeProperty}, \P{UnicodeProperty} Unicode property escapes
  • 유니코드 속성 일치 할 경우

 

 

escape ( 탈출; 특수문자 그대로 일치 ) 

특수문자 → 리터럴 ( 이스케이프 화 한다 ) 

 

  • *인 경우
    • /a\*b/백슬래시를 "이스케이프"하여 "*"특수 대신 리터럴로 만듭니다.
  • 슬래시("/") 인 경우
    • 문자열 "/example/" 다음에 하나 이상의 알파벳 문자를 검색하려면 /\/example\/[a-z]+/i각 슬래시 앞의 백슬래시를 사용하여 리터럴로 만듭니다.
  • 리터럴 백슬래시 인 경우
    • "C:\"를 일치시키려면 /[A-Z]:\\/
  • RegExp 생성자 인 경우
    • /a\*b/ 와 동일한 new RegExp("a\\*b")

 

 

 

Using regular expressions in JavaScript

  1. 일반 검색 : 문자열에 패턴이 있는지 알고 싶은 경우
  2. 배열을 반환하는 검색  : 
  3. 대체 및 분리하는 검색 : 연결된 정규식 개체 및 미리 정의된 정규식 개체 의 속성을 업데이트

no대중인풋아웃풋방법설명

1-1 일반 검색   문자열 T/F 반환 test() 문자열에서 일치하는지 테스트합니다. true또는 false를 반환합니다 .
1-2 일반 검색   문자열 인덱스 반환 search() 문자열에서 일치하는지 테스트합니다. 일치하는 인덱스를 반환하거나 -1검색이 실패하면 반환합니다.
2-1 배열을 반환하는 검색   문자열 배열 반환 exec() 문자열에서 일치 항목에 대한 검색을 실행합니다. 정보 배열 또는 null불일치를 반환합니다.
2-2 배열을 반환하는 검색   문자열 배열 반환 match() null캡처 그룹을 포함하여 모든 일치 항목을 포함하거나 일치 항목이 없는 경우 배열을 반환합니다 .
3-1 대체 및 분리하는 검색 검색 후 그룹 문자열 일치 그룹 반환 matchAll() 캡처링 그룹을 포함하여 모든 일치 항목을 포함하는 반복자를 반환합니다.
3-2 대체 및 분리하는 검색 검색 후 대체 문자열   replace() 문자열에서 일치 항목에 대한 검색한 후 일치하는 하위 문자열을 대체 하위 문자열로 바꿉니다.
3-3 대체 및 분리하는 검색 검색 후 대체 문자열 대체한 문자로 구성된 문자열 반환 replaceAll() 문자열에서 모든 일치 항목에 대한 검색을 실행하고 일치하는 하위 문자열을 대체 하위 문자열로 바꿉니다.
3-4 대체 및 분리하는 검색 검색 후 분리 문자열 특정문자로 구분한 배열 반환 split() 정규식 또는 고정 문자열을 사용하여 문자열을 하위 문자열 배열로 나눕니다.