정규식과 RegExp 객체
정규식은 문자 패턴을 설명하는 개체입니다.
자바 스크립트 RegExp 클래스는 정규 표현식을 나타내며 문자열과 RegExp 정규식을 사용하여 강력한 패턴 일치를 수행하고 텍스트에서 검색 및 바꾸기 기능을 수행하는 메서드를 정의합니다.
통사론
정규식은 RegExp () 생성자, 다음과 같이-
var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;
다음은 매개 변수에 대한 설명입니다.
pattern − 정규식 또는 다른 정규식의 패턴을 지정하는 문자열.
attributes − 각각 전역, 대소 문자 구분 및 여러 줄 일치를 지정하는 "g", "i"및 "m"속성을 포함하는 선택적 문자열.
브래킷
대괄호 ([])는 정규식 컨텍스트에서 사용할 때 특별한 의미를 갖습니다. 문자 범위를 찾는 데 사용됩니다.
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를 포함하는 모든 문자열과 일치합니다. |
삼 | p? 최대 하나의 p를 포함하는 모든 문자열과 일치합니다. |
4 | p{N} 시퀀스를 포함하는 모든 문자열과 일치합니다. N 추신 |
5 | p{2,3} 2 개 또는 3 개의 p 시퀀스를 포함하는 모든 문자열과 일치합니다. |
6 | p{2, } 최소 두 개의 p 시퀀스를 포함하는 모든 문자열과 일치합니다. |
7 | p$ 끝에 p가있는 문자열과 일치합니다. |
8 | ^p 시작 부분에 p가있는 모든 문자열과 일치합니다. |
예
다음 예에서는 문자 일치에 대해 자세히 설명합니다.
Sr. 아니. | 표현 및 설명 |
---|---|
1 | [^a-zA-Z] 다음 범위의 문자를 포함하지 않는 모든 문자열과 일치합니다. a ...을 통하여 z 과 A ~ Z. |
2 | p.p 다음을 포함하는 모든 문자열과 일치합니다. p, 임의의 문자가 뒤 따르고 다른 문자가 차례로 p. |
삼 | ^.{2}$ 정확히 두 문자를 포함하는 모든 문자열과 일치합니다. |
4 | <b>(.*)</b> <b> 및 </ b>로 묶인 모든 문자열과 일치합니다. |
5 | p(hp)* 다음을 포함하는 모든 문자열과 일치합니다. p 0 개 이상의 시퀀스 인스턴스가 뒤 따름 hp. |
리터럴 문자
Sr. 아니. | 캐릭터 및 설명 |
---|---|
1 | Alphanumeric 그 자체 |
2 | \0 NUL 문자 (\ 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과 동일합니다. |
메타 문자
메타 문자는 조합에 특별한 의미를 부여하는 역할을하는 백 슬래시가 앞에 오는 단순히 알파벳 문자입니다.
예를 들어, '\ 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) 지정된 대안 중 하나와 일치 |
수정 자
작업 방식을 단순화 할 수있는 몇 가지 수정자를 사용할 수 있습니다. regexps, 대소 문자 구분, 여러 줄 검색 등
Sr. 아니. | 수정 자 및 설명 |
---|---|
1 | i 대소 문자를 구분하지 않는 일치를 수행하십시오. |
2 | m 문자열에 개행 문자 또는 캐리지 리턴 문자가있는 경우 ^ 및 $ 연산자가 문자열 경계 대신 개행 경계와 일치하도록 지정합니다. |
삼 | g 전역 일치를 수행합니다. 즉, 첫 번째 일치 후에 중지하지 않고 모든 일치 항목을 찾습니다. |
RegExp 속성
다음은 RegExp와 관련된 속성 목록 및 설명입니다.
Sr. 아니. | 속성 및 설명 |
---|---|
1 | constructor Specifies the function that creates an object's prototype. |
2 | global Specifies if the "g" modifier is set. |
3 | ignoreCase Specifies if the "i" modifier is set. |
4 | lastIndex The index at which to start the next match. |
5 | multiline Specifies if the "m" modifier is set. |
6 | source The text of the pattern. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.
RegExp Methods
Here is a list of the methods associated with RegExp along with their description.
Sr.No. | Method & Description |
---|---|
1 | exec() Executes a search for a match in its string parameter. |
2 | test() Tests for a match in its string parameter. |
3 | toSource() Returns an object literal representing the specified object; you can use this value to create a new object. |
4 | toString() Returns a string representing the specified object. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.