ES6-정규식
정규식은 문자 패턴을 설명하는 개체입니다. 정규 표현식은 종종“regex”또는“regexp”.
자바 스크립트 RegExp class는 정규식을 나타내며, String 및 RegExp는 모두 정규식을 사용하여 텍스트에서 강력한 패턴 일치 및 검색 및 바꾸기 기능을 수행하는 메서드를 정의합니다.
정규식은 다음과 같이 정의 할 수 있습니다.
var pattern = new RegExp(pattern, attributes);
OR
var pattern = /pattern/attributes;
속성은 다음 값의 조합을 가질 수 있습니다.
Sr. 아니요 | 속성 및 설명 |
---|---|
1 | G 글로벌 매치 |
2 | I 대소 문자 무시 |
삼 | M 여러 줄; 시작 및 끝 문자 (^ 및 $)를 여러 줄에 걸쳐 작업하는 것으로 처리합니다 (예 : 전체 입력 문자열의 시작 또는 끝뿐만 아니라 각 줄의 시작 또는 끝 (\ n 또는 \ r으로 구분)과 일치). ) |
4 | U 유니 코드; 패턴을 일련의 유니 코드 코드 포인트로 취급 |
5 | Y 어려운; 대상 문자열에서이 정규식의 lastIndex 속성에 의해 표시된 인덱스에서만 일치하며 이후 인덱스에서 일치를 시도하지 않습니다. |
정규식 구성
브래킷
대괄호 ([])는 정규식 컨텍스트에서 사용할 때 특별한 의미를 갖습니다. 문자 범위를 찾는 데 사용됩니다.
Sr. 아니요 | 표현 및 설명 |
---|---|
1 | [...] 대괄호 사이의 모든 문자 |
2 | [^...] 대괄호 사이에없는 한 문자 |
삼 | [0-9] 0에서 9까지의 십진수와 일치합니다. |
4 | [a-z] 소문자의 모든 문자와 일치합니다. a 소문자로 z |
5 | [A-Z] 대문자의 모든 문자와 일치합니다. A 대문자 Z까지 |
6 | [a-Z] 소문자의 모든 문자와 일치합니다. a 대문자 Z까지 |
위에 표시된 범위는 일반적입니다. 또한 [0-3] 범위를 사용하여 0에서 3까지의 십진수를 일치 시키거나 [bv] 범위를 사용하여 b에서 v까지의 소문자와 일치시킬 수 있습니다.
수량 자
대괄호 문자 시퀀스 및 단일 문자의 빈도 또는 위치는 특수 문자로 표시 할 수 있습니다. 각 특수 문자에는 특정 의미가 있습니다. 그만큼+, *, ?, 과 $ 플래그는 모두 문자 시퀀스를 따릅니다.
Sr. 아니요 | 표현 및 설명 |
---|---|
1 | p+ 적어도 하나를 포함하는 모든 문자열과 일치합니다. p. |
2 | p* 0 개 이상을 포함하는 모든 문자열과 일치합니다. p's |
삼 | p? 하나 이상의 p's |
4 | p{N} 시퀀스를 포함하는 모든 문자열과 일치합니다. N p's |
5 | p{2,3} 2 개 또는 3 개의 시퀀스를 포함하는 모든 문자열과 일치합니다. p's |
6 | p{2, } 두 개 이상의 시퀀스를 포함하는 모든 문자열과 일치합니다. p's |
7 | p$ 모든 문자열과 일치합니다. p 그것의 끝에 |
8 | ^p 모든 문자열과 일치합니다. p 그것의 시작에 |
9 | [^a-zA-Z] 다음 범위의 문자를 포함하지 않는 모든 문자열과 일치합니다. a ...을 통하여 z 과 A ...을 통하여 Z |
10 | p.p 다음을 포함하는 모든 문자열과 일치합니다. p, 임의의 문자, 차례로 다른 문자 p |
11 | ^.{2}$ 정확히 두 문자를 포함하는 모든 문자열과 일치합니다. |
12 | <b>(.*)</b> <b> 및 </ b>로 묶인 모든 문자열과 일치합니다. |
13 | p(hp)* 다음을 포함하는 모든 문자열과 일치합니다. p 0 개 이상의 시퀀스 인스턴스가 뒤 따름 hp |
리터럴 문자
Sr. 아니요 | 캐릭터 및 설명 |
---|---|
1 | Alphanumeric 그 자체 |
2 | \0 NULL 문자 (\ u0000) |
삼 | \t 탭 (\ u0009) |
4 | \n 줄 바꿈 (\ u000A) |
5 | \v 세로 탭 (\ u000B) |
6 | \f 양식 피드 (\ u000C) |
7 | \r 캐리지 리턴 (\ u000D) |
8 | \xnn 16 진수로 지정된 라틴 문자 nn; 예를 들어, \ x0A는 다음과 같습니다. \n |
9 | \uxxxx 16 진수로 지정된 유니 코드 문자 xxxx; 예를 들어, \ u0009는 다음과 같습니다.\t |
10 | \cX 제어 문자 ^ X; 예를 들어, \ cJ는 개행 문자와 동일합니다.\n |
메타 문자
ㅏ meta-character 조합에 특별한 의미를 부여하는 역할을하는 백 슬래시가 앞에 오는 알파벳 문자입니다.
예를 들어, 다음을 사용하여 많은 돈을 검색 할 수 있습니다. '\d'메타 문자 : / ([\ d] +) 000 /. 여기,\d 숫자 문자열을 검색합니다.
다음 표는 PERL 스타일 정규식에서 사용할 수있는 메타 문자 세트를 나열합니다.
Sr. 아니요 | 캐릭터 및 설명 |
---|---|
1 | . 단일 문자 |
2 | \s 공백 문자 (공백, 탭, 줄 바꿈) |
삼 | \S 공백이 아닌 문자 |
4 | \d 숫자 (0-9) |
5 | \D 숫자가 아닌 |
6 | \w 단어 문자 (az, AZ, 0-9, _) |
7 | \W 비 단어 문자 |
8 | [\b] 리터럴 백 스페이스 (특별한 경우) |
9 | [aeiou] 주어진 세트의 단일 문자와 일치 |
10 | [^aeiou] 주어진 세트 외부의 단일 문자와 일치 |
11 | (foo|bar|baz) 지정된 대안 중 하나와 일치 |
RegExp 속성
Sr. 아니요 | 속성 및 설명 |
---|---|
1 | RegExp.prototype.flags RegExp 개체의 플래그를 포함하는 문자열 |
2 | RegExp.prototype.global 문자열의 가능한 모든 일치 항목에 대해 정규식을 테스트할지 아니면 첫 번째 항목에 대해서만 테스트할지 여부 |
삼 | RegExp.prototype.ignoreCase 문자열에서 일치를 시도하는 동안 대소 문자를 무시할지 여부 |
4 | RegExp.prototype.lastIndex RegExp 개체의 읽기 / 쓰기 속성입니다. |
5 | RegExp.prototype.multiline 여러 줄의 문자열에서 검색할지 여부 |
6 | RegExp.prototype.source 패턴의 텍스트 |
RegExp 메서드
Sr. 아니요 | 방법 및 설명 |
---|---|
1 | RegExp.prototype.exec () 문자열 매개 변수에서 일치 항목을 검색합니다. |
2 | RegExp.prototype.test () 문자열 매개 변수에서 일치 여부를 테스트합니다. |
삼 | RegExp.prototype.match () 주어진 문자열과 일치를 수행하고 일치 결과를 반환합니다. |
4 | RegExp.prototype.replace () 주어진 문자열의 일치 항목을 새 하위 문자열로 바꿉니다. |
5 | RegExp.prototype.search () 주어진 문자열에서 일치하는 항목을 검색하고 문자열에서 찾은 패턴 인덱스를 반환합니다. |
6 | RegExp.prototype.split () 문자열을 하위 문자열로 분리하여 주어진 문자열을 배열로 분할합니다. |
7 | RegExp.prototype.toString () 지정된 개체를 나타내는 문자열을 반환합니다. Object.prototype.toString () 메서드를 재정의합니다. |