- 정의
- 정규식은 특정한 규칙을 가진 문자열의 집합 을 표현하는데 사용하는 형식 언어입니다.
- 객체
- 목차
-
- pattern 작성
- 정규식 만들기
- 정규식 패턴 작성
- 일치시킬 기본 리터럴
- 일치시킬 특수문자
- 일치시킬 패턴
- pattren 검색
- pattern 작성
정규식 만들기
두 가지 방법의 구성
- 다음과 같이 슬래시로 묶인 패턴으로 구성된 정규식 리터럴 사용
- const re = /ab+c/;
- RegExp또는 다음과 같이 객체 의 생성자 함수를 호출합니다 .
- const re = new RegExp('ab+c');
- 정규식 패턴이 변경될 것임을 알고 있거나 패턴을 모르고 사용자 입력과 같은 다른 소스에서 가져오는 경우 생성자 함수를 사용합니다.
- const re = new RegExp('ab+c');
정규식 패턴 작성
- 문자 조합
- 단순 문자 : ,
- 특수 문자 : /abc/
- OR 문자
Using simple patterns
Using special characters Pattern
설명 및 예와 함께 각 범주에 맞는 다양한 특수 문자 목록을 제공
list
- Character classes
- 사전적 정의 > 타입
- Distinguish different types of characters. For example, distinguishing between letters and digits.
- 다양한 유형의 타입을 구별하십시오. 예를 들어, '문자'와 '숫자'를 구별합니다.
- Assertions
- 사전적 정의 > 주장
- 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).
- 행과 단어의 시작과 끝을 나타내는 경계와의 일치
- 가정 설정문 또는 어서션은 프로그램 안에 추가하는 참·거짓을 미리 가정하는 문
- Groups and backreferences
- 사전적 정의 > 그룹 과 역참조
- 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.
- 그룹은 전체적으로 여러 패턴을 그룹화
- 캡처 그룹은 정규식 패턴을 사용하여 문자열과 일치시킬 때 추가 부분 일치 정보를 제공
- 역참조는 동일한 정규식에서 이전에 캡처된 그룹을 참조
- Quantifiers
- 사전적 정의 > 수량자
- Indicate numbers of characters or expressions to match.
- 일치시킬 문자 또는 표현식의 수
- Unicode property escapes
- 사전적 정의 > 유니코드 속성 이스케이프
- Distinguish based on unicode character properties, for example, upper- and lower-case letters, math symbols, and punctuation.
- 대문자 및 소문자, 수학 기호 및 구두점과 같은 유니코드 문자 속성을 기반으로 구별
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 |
|
^, $, x(?=y), x(?!y), (?<=y)x, (?<!y)x, \b,\B | Assertions |
|
(x), (?:x), (?<Name>x), x|y, [xyz], [^xyz], \Number | Groups 및 boundaries |
|
*, +, ?, , _ 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
- 일반 검색 : 문자열에 패턴이 있는지 알고 싶은 경우
- 배열을 반환하는 검색 :
- 대체 및 분리하는 검색 : 연결된 정규식 개체 및 미리 정의된 정규식 개체 의 속성을 업데이트
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() | 정규식 또는 고정 문자열을 사용하여 문자열을 하위 문자열 배열로 나눕니다. |