?uem/p1-90`String
extends 절 값으로 사용할 수 있습니다. 명시된 String 동작을 상속하려는 하위 클래스 super 호출을 포함해야 합니다.이 함수는 호출되면 다음 단계를 수행합니다:
String
이 함수는 나머지 매개변수 codeUnits를 구성하는 임의의 수의 인수로 호출할 수 있습니다.
호출되면 다음 단계를 수행합니다:
이 함수의
이 함수는 나머지 매개변수 codePoints를 구성하는 임의의 수의 인수로 호출할 수 있습니다.
호출되면 다음 단계를 수행합니다:
이 함수의
String.prototype의 초기 값은
이 프로퍼티는 { [[Writable]]:
이 함수는 가변 개수의 인수로 호출할 수 있습니다. 첫 번째 인수는 template이며 나머지 인수는
호출되면 다음 단계를 수행합니다:
이 함수는 Tagged Template(
String 프로토타입 객체는:
명시적으로 달리 언급하지 않는 한 아래에 정의된 String 프로토타입 객체의 메서드는 일반적이지 않으며, 전달되는
이 메서드는 이 객체를 String으로 변환하여 얻은 String 값의 인덱스 position에 있는 코드 단위를 포함하는 단일 요소 String을 반환합니다. 해당 인덱스에 요소가 없으면 결과는 빈 String입니다. 결과는 String 객체가 아니라 String 값입니다.
pos가 x.charAt(pos)의 결과는 x.substring(pos, pos + 1)의 결과와 동등합니다.
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는 이 객체를 String으로 변환하여 얻은 String의 인덱스 position에 있는 코드 단위의 숫자 값인 Number(216보다 작은 음이 아닌
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드가 호출되면
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드의
이 메서드는 의도적으로 일반적이며
String.prototype.constructor의 초기 값은
이 메서드는 호출되면 다음 단계를 수행합니다:
첫 번째 인수가 RegExp이면 예외를 던지도록 명시한 것은 향후 판에서 이러한 인수 값을 허용하는 확장을 정의할 수 있도록 하기 위함입니다.
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
searchString이 이 객체를 String으로 변환한 결과의
첫 번째 인수가 RegExp이면 예외를 던지도록 명시한 것은 향후 판에서 이러한 인수 값을 허용하는 확장을 정의할 수 있도록 하기 위함입니다.
이 메서드는 의도적으로 일반적이며
searchString이 이 객체를 String으로 변환한 결과의
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
searchString이 이 객체를 String으로 변환한 결과의
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
ECMA-402 국제화 API를 포함하는 ECMAScript 구현체는 ECMA-402에 명시된 대로 이 메서드를 구현해야 합니다. 그렇지 않으면 다음과 같은 이 메서드 명세가 사용됩니다:
이 메서드는
비교를 수행하기 전에 이 메서드는 String을 준비하기 위해 다음 단계를 수행합니다:
이 메서드의 선택적 두 번째 및 세 번째 매개변수의 의미는 ECMA-402에 정의되어 있습니다. ECMA-402 지원을 포함하지 않는 구현체는 해당 매개변수 위치에 다른 해석을 부여해서는 안 됩니다.
추가 정보를 인코딩할 수 있도록 실제 반환 값은
이 메서드 자체는 Array.prototype.sort의 인수로 직접 사용하기에는 적합하지 않습니다. 후자는 두 인수를 받는 함수를 필요로 하기 때문입니다.
이 메서드는
// Å ANGSTROM SIGN과
// Å LATIN CAPITAL LETTER A + COMBINING RING ABOVE 비교
"\u212B".localeCompare("A\u030A")
// Ω OHM SIGN과
// Ω GREEK CAPITAL LETTER OMEGA 비교
"\u2126".localeCompare("\u03A9")
// ṩ LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE와
// ṩ LATIN SMALL LETTER S + COMBINING DOT ABOVE + COMBINING DOT BELOW 비교
"\u1E69".localeCompare("s\u0307\u0323")
// ḍ̇ LATIN SMALL LETTER D WITH DOT ABOVE + COMBINING DOT BELOW와
// ḍ̇ LATIN SMALL LETTER D WITH DOT BELOW + COMBINING DOT ABOVE 비교
"\u1E0B\u0323".localeCompare("\u1E0D\u0307")
// 가 HANGUL CHOSEONG KIYEOK + HANGUL JUNGSEONG A와
// 가 HANGUL SYLLABLE GA 비교
"\u1100\u1161".localeCompare("\uAC00")
정규 동등성의 정의와 논의는 유니코드 표준 제2장 및 제3장과 Unicode Standard Annex #15, Unicode Normalization Forms 및 Unicode Technical Note #5, Canonical Equivalence in Applications를 참조하시기 바랍니다. 또한 Unicode Technical Standard #10, Unicode Collation Algorithm도 참조하시기 바랍니다.
이 메서드는 유니코드 표준 제3장 3.7절에 정의된 유니코드 호환 동등 또는 호환 분해를 준수하지 않는 것이 권장됩니다.
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는
호출되면 다음 단계를 수행합니다:
String.prototype.split과 마찬가지로 String.prototype.matchAll은 일반적으로 입력을 변경하지 않고 동작하도록 설계되었습니다.이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 호출되면 다음 단계를 수행합니다:
인수 maxLength는 string의 길이보다 작아질 수 없도록 제한됩니다.
인수 fillString의 기본값은
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는 이 객체를 String으로 변환한 결과의 인덱스 start에서 시작하여 인덱스 end 직전까지 이어지는
호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는 이 객체를 String으로 변환한 결과의
호출되면 다음 단계를 수행합니다:
separator 값은 빈 String일 수 있습니다. 이 경우 separator는 입력 String의 시작이나 끝에 있는 빈
separator가
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
첫 번째 인수가 RegExp이면 예외를 던지도록 명시한 것은 향후 판에서 이러한 인수 값을 허용하는 확장을 정의할 수 있도록 하기 위함입니다.
이 메서드는 의도적으로 일반적이며
이 메서드는 이 객체를 String으로 변환한 결과의 인덱스 start에서 시작하여 String의 인덱스 end 직전까지 이어지는
어느 인수든
start가 end보다 엄격하게 크면 서로 교환됩니다.
호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
ECMA-402 국제화 API를 포함하는 ECMAScript 구현체는 ECMA-402에 명시된 대로 이 메서드를 구현해야 합니다. 그렇지 않으면 다음과 같은 이 메서드 명세가 사용됩니다:
이 메서드는
toLowerCase와 정확히 동일하게 동작합니다. 해당 언어의 규칙이 일반적인 유니코드 대소문자 매핑과 충돌하는 소수의 경우(예: 터키어)에만 차이가 있습니다.
이 메서드의 선택적 매개변수의 의미는 ECMA-402에 정의되어 있습니다. ECMA-402 지원을 포함하지 않는 구현체는 해당 매개변수 위치를 다른 용도로 사용해서는 안 됩니다.
이 메서드는 의도적으로 일반적이며
ECMA-402 국제화 API를 포함하는 ECMAScript 구현체는 ECMA-402에 명시된 대로 이 메서드를 구현해야 합니다. 그렇지 않으면 다음과 같은 이 메서드 명세가 사용됩니다:
이 메서드는
toUpperCase와 정확히 동일하게 동작합니다. 해당 언어의 규칙이 일반적인 유니코드 대소문자 매핑과 충돌하는 소수의 경우(예: 터키어)에만 차이가 있습니다.
이 메서드의 선택적 매개변수의 의미는 ECMA-402에 정의되어 있습니다. ECMA-402 지원을 포함하지 않는 구현체는 해당 매개변수 위치를 다른 용도로 사용해서는 안 됩니다.
이 메서드는 의도적으로 일반적이며
이 메서드는
호출되면 다음 단계를 수행합니다:
결과는 Unicode Character Database의 로케일 비민감 대소문자 매핑에 따라 파생되어야 합니다(이는 UnicodeData.txt 파일뿐만 아니라 함께 제공되는 SpecialCasing.txt 파일의 모든 로케일 비민감 매핑도 명시적으로 포함합니다).
일부 코드 포인트의 대소문자 매핑은 여러 코드 포인트를 생성할 수 있습니다. 이 경우 결과 String의 길이는 소스 String과 같지 않을 수 있습니다. toUpperCase와 toLowerCase 모두 문맥 민감 동작을 하므로 두 메서드는 대칭적이지 않습니다. 즉, s.toUpperCase().toLowerCase()는 반드시 s.toLowerCase()와 같지는 않습니다.
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
String 객체의 경우 이 메서드는 우연히 valueOf 메서드와 동일한 것을 반환합니다.
이 메서드는
String이 Unicode Default Case Conversion의 toUppercase 알고리즘을 사용하여 매핑된다는 점을 제외하면 String.prototype.toLowerCase와 정확히 동일하게 동작합니다.
이 메서드는 의도적으로 일반적이며
이 메서드는
호출되면 다음 단계를 수행합니다:
이 메서드는
호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
공백의 정의는
이 메서드는
호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는
호출되면 다음 단계를 수행합니다:
이 메서드는 의도적으로 일반적이며
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드는 String 값의 코드 포인트를 순회하면서 각 코드 포인트를 String 값으로 반환하는 반복자 객체를 반환합니다.
호출되면 다음 단계를 수행합니다:
이 메서드의
String 인스턴스는
String 인스턴스는
이 String 객체가 나타내는 String 값의 요소 수입니다.
String 객체가 초기화되면 이 프로퍼티는 변경되지 않습니다. 이 프로퍼티는 { [[Writable]]:
String Iterator는 특정 String 인스턴스 객체에 대한 특정 순회를 나타내는 객체입니다. String Iterator 객체에는 이름 있는
%StringIteratorPrototype% 객체는:
이 프로퍼티는 { [[Writable]]:
RegExp 객체는 정규 표현식과 관련 플래그를 포함합니다.
정규 표현식의 형식과 기능은 Perl 5 프로그래밍 언어의 정규 표현식 기능을 모델로 합니다.
RegExp
연결할 u \u \u u
여기서 처음 두 줄은 CharacterClass와 동등합니다.
이 절의 여러 생성식에는
이 절은
PropertyValueAliases.txt에 나열된 PropertyValueAliases.txt에 나열된 General_Category (gc) 프로퍼티의 유니코드 프로퍼티 값 또는 프로퍼티 값 별칭도 아니고, ( 터미널과 일치하는 모든 ( 패턴 문자입니다.
이 절은
호출되면 다음 단계를 수행한다.
이 절은
호출되면 다음 단계를 수행한다.
이 절은
다음 생성 규칙별로 정의된다.
“
이 절은
다음 생성 규칙별로 정의된다.
이 절은
다음 생성 규칙별로 정의된다.
| ControlEscape | 숫자 값 | 코드 포인트 | 유니코드 이름 | 기호 |
|---|---|---|---|---|
t
|
9 |
U+0009
|
CHARACTER TABULATION | <HT> |
n
|
10 |
U+000A
|
LINE FEED (LF) | <LF> |
v
|
11 |
U+000B
|
LINE TABULATION | <VT> |
f
|
12 |
U+000C
|
FORM FEED (FF) | <FF> |
r
|
13 |
U+000D
|
CARRIAGE RETURN (CR) | <CR> |
\0은 <NUL> 문자를 나타내며 뒤에 십진 숫자가 올 수 없습니다.
정규 표현식 패턴은 아래에 설명된 과정을 사용하여
u도 v도 포함되어 있지 않으면 해당
예를 들어 소스 텍스트에서 단일 비-BMP 문자 U+1D11E (MUSICAL SYMBOL G CLEF)로 표현된 패턴을 생각해 보시기 바랍니다. 유니코드 패턴으로 해석하면 단일 코드 포인트 U+1D11E로 구성된 단일 요소(문자)
패턴은 비-BMP 문자가 UTF-16으로 인코딩된 ECMAScript String 값으로 RegExp
구현체는 실제로 UTF-16으로 또는 UTF-16에서 이러한 변환을 수행하지 않을 수 있지만, 이 명세의 의미론은 패턴 일치 결과가 그러한 변환이 수행된 것과 같아야 함을 요구합니다.
아래 설명에서는 다음 내부 데이터 구조를 사용합니다:
RegExp Record는 컴파일 중 및 필요한 경우 일치 중에 필요한 RegExp 정보를 저장하는 데 사용하는
다음 필드를 갖습니다:
| 필드 이름 | 값 | 의미 |
|---|---|---|
| [[IgnoreCase]] | a Boolean | RegExp의 플래그에 |
| [[Multiline]] | a Boolean | RegExp의 플래그에 |
| [[DotAll]] | a Boolean | RegExp의 플래그에 |
| [[Unicode]] | a Boolean | RegExp의 플래그에 |
| [[UnicodeSets]] | a Boolean | RegExp의 플래그에 |
| [[CapturingGroupsCount]] | a non-negative integer | RegExp 패턴의 |
Pattern은
이 절은
다음 생성 규칙별로 정의된다.
| 정규 표현식 연산자는 두 대안을 구분합니다. 패턴은 먼저 왼쪽 |에 의해 건너뛴 패턴 부분 안의 캡처링 괄호는 String 대신
/a|ab/.exec("abc")
는
/((a)|(ab))((c)|(bc))/.exec("abc")
는 다음 배열을 반환하고
["abc", "a", "a", undefined, "bc", undefined, "bc"]
다음 배열은 반환하지 않습니다.
["abc", "ab", undefined, "ab", "c", "c", undefined]
두 대안을 시도하는 순서는 direction 값과 무관합니다.
연속된
결과
다음을 비교해 보시기 바랍니다.
/a[a-z]{2,4}/.exec("abcdefghi")
이는
/a[a-z]{2,4}?/.exec("abcdefghi")
또한 다음도 생각해 보시기 바랍니다.
/(aa|aabaac|ba|b|c)*/.exec("aabaac")
위의 선택 지점 순서에 따라 다음 배열을 반환하고
["aaba", "ba"]
다음 중 어느 것도 반환하지 않습니다:
["aabaac", "aabaac"]
["aabaac", "c"]
위의 선택 지점 순서를 이용하면 두 숫자(단항 표기법으로 표현됨)의 최대공약수를 계산하는 정규 표현식을 작성할 수 있습니다. 다음 예는 10과 15의 최대공약수를 계산합니다:
"aaaaaaaaaa,aaaaaaaaaaaaaaa".replace(/^(a+)\1*,\1+$/, "$1")
이는 단항 표기법으로 된 최대공약수
RepeatMatcher의
/(z)((a+)?(b+)?(c))*/.exec("zaacbbbcac")
이는 다음 배열을 반환하고
["zaacbbbcac", "z", "ac", "a", undefined, "c"]
다음은 반환하지 않습니다.
["zaacbbbcac", "z", "ac", "a", "bbb", "c"]
가장 바깥쪽 *의 각 반복이 수량화된
이 절은
다음 생성 규칙별로 정의된다.
패턴에 y 플래그를 사용하는 경우에도 ^는 항상 input의 시작 또는 (regexpRecord.[[Multiline]]이
(?= ) 형식은 너비가 0인 긍정형 전방 탐색을 지정합니다. 성공하려면 (?= 형식 안으로 백트래킹하지 않습니다(이 비정상적인 동작은 Perl에서 상속됨). 이는
예를 들어,
/(?=(a+))/.exec("baaabac")
는 첫 번째 b 바로 뒤의 빈 String과 일치하므로 다음 배열을 반환합니다:
["", "aaa"]
전방 탐색 안으로 백트래킹하지 않는다는 점을 보여 주기 위해 다음을 생각해 보시기 바랍니다:
/(?=(a+))a*b\1/.exec("baaabac")
이 표현식은 다음을 반환하며
["aba", "a"]
다음은 반환하지 않습니다:
["aaaba", "a"]
(?! ) 형식은 너비가 0인 부정형 전방 탐색을 지정합니다. 성공하려면
/(.*?)a(?!(a+)b\2c)\2(.*)/.exec("baaabaac")
는 바로 뒤에 양의 수 n개의 a, b, 다시 n개의 a(첫 번째 \2가 지정) 및 c가 이어지지 않는 a를 찾습니다. 두 번째 \2는 부정형 전방 탐색 밖에 있으므로
["baaabaac", "ba", undefined, "abaac"]
이 절은
다음 생성 규칙별로 정의된다.
( ) 형식의 괄호는 \ 뒤에 0이 아닌 십진수가 이어짐)에서 사용하거나, replace String에서 참조하거나, 정규 표현식 일치 (?: ) 형식을 사용하시기 바랍니다.
\ 뒤에 0이 아닌 십진수 n이 이어지는 형식의 이스케이프 시퀀스는 nth 캡처링 괄호 집합(
CaseFolding.txt 파일이 char에 대한 단순 또는 공통 대소문자 폴딩 매핑을 제공하면 해당 매핑을 char에 적용한 결과를 반환합니다.ß (U+00DF LATIN SMALL LETTER SHARP S)를 ss 또는 SS로 매핑하지 않습니다. 그러나 Basic Latin 블록 밖의 코드 포인트를 그 안의 코드 포인트로 매핑할 수 있습니다. 예를 들어 ſ (U+017F LATIN SMALL LETTER LONG S)는 s (U+0073 LATIN SMALL LETTER S)로 대소문자 폴딩되고 K (U+212A KELVIN SIGN)는 k (U+006B LATIN SMALL LETTER K)로 대소문자 폴딩됩니다. 이러한 코드 포인트를 포함하는 String은 /[a-z]/ui와 같은 정규 표현식과 일치합니다.
Ω (U+2126 OHM SIGN)는 toUppercase에서 자기 자신으로 매핑되지만 toCasefold에서는 Ω (U+03A9 GREEK CAPITAL LETTER OMEGA)와 함께 ω (U+03C9 GREEK SMALL LETTER OMEGA)로 매핑되므로 /[ω]/ui 및 /[\u03A9]/ui와 일치하지만 /[ω]/i 또는 /[\u03A9]/i와는 일치하지 않습니다. 또한 Basic Latin 블록 밖의 어떤 코드 포인트도 그 안의 코드 포인트로 매핑되지 않으므로 /[a-z]/i와 일치하지 않습니다.
이 절은
다음 생성 규칙별로 정의된다.
패턴이 대소문자를 무시하더라도 범위의 양 끝에서 대소문자는 어떤 문자가 범위에 속하는지 결정할 때 중요합니다. 따라서 예를 들어 패턴 /[E-F]/i는 문자 E, F, e, f에만 일치하지만, 패턴 /[E-f]/i는 유니코드 Basic Latin 블록의 모든 대문자와 소문자뿐만 아니라 기호 [, \, ], ^, _ 및 `에도 일치합니다.
- 문자는 리터럴로 취급할 수도 있고 범위를 나타낼 수도 있습니다.
- U+002D (HYPHEN-MINUS)를 포함하는 \b, \B 및 역참조를 제외하고 정규 표현식의 나머지 부분에서 허용되는 모든 이스케이프 시퀀스를 사용할 수 있습니다. \b는 백스페이스 문자를 의미하지만 \B와 역참조는 오류를 발생시킵니다.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9를 포함하는 10요소 General_Category, s)가 PropertyValueAliases.txt에 나열된 General_Category (gc) 프로퍼티의 유니코드 프로퍼티 값 또는 프로퍼티 값 별칭이면, 다음을 수행합니다.결과는 흔히 둘 이상의 범위로 구성됩니다. UnicodeSets가
\b, \B, \w 및 \W의 목적상 “단어 문자”로 간주되는 문자를 포함하는
CaseFolding.txt 파일에 있는 Simple Case Folding (
구현체는
예를 들어 Script_Extensions(scx(프로퍼티 별칭)는 유효하지만 script_extensions 또는 Scx는 유효하지 않습니다.
나열된 프로퍼티는 UTS18 RL1.2가 요구하는 것의 상위 집합을 구성합니다.
이 표의 항목 철자(대소문자 포함)는 Unicode Character Database의 PropertyAliases.txt 파일에서 사용하는 철자와 일치합니다. 해당 파일의 정확한 철자는 안정적으로 유지됨이 보장됩니다.
General_Category |
General_Category |
gc |
|
Script |
Script |
sc |
|
Script_Extensions |
Script_Extensions |
scx |
ASCII |
ASCII |
ASCII_Hex_Digit |
ASCII_Hex_Digit |
AHex |
|
Alphabetic |
Alphabetic |
Alpha |
|
Any |
Any |
Assigned |
Assigned |
Bidi_Control |
Bidi_Control |
Bidi_C |
|
Bidi_Mirrored |
Bidi_Mirrored |
Bidi_M |
|
Case_Ignorable |
Case_Ignorable |
CI |
|
Cased |
Cased |
Changes_When_Casefolded |
Changes_When_Casefolded |
CWCF |
|
Changes_When_Casemapped |
Changes_When_Casemapped |
CWCM |
|
Changes_When_Lowercased |
Changes_When_Lowercased |
CWL |
|
Changes_When_NFKC_Casefolded |
Changes_When_NFKC_Casefolded |
CWKCF |
|
Changes_When_Titlecased |
Changes_When_Titlecased |
CWT |
|
Changes_When_Uppercased |
Changes_When_Uppercased |
CWU |
|
Dash |
Dash |
Default_Ignorable_Code_Point |
Default_Ignorable_Code_Point |
DI |
|
Deprecated |
Deprecated |
Dep |
|
Diacritic |
Diacritic |
Dia |
|
Emoji |
Emoji |
Emoji_Component |
Emoji_Component |
EComp |
|
Emoji_Modifier |
Emoji_Modifier |
EMod |
|
Emoji_Modifier_Base |
Emoji_Modifier_Base |
EBase |
|
Emoji_Presentation |
Emoji_Presentation |
EPres |
|
Extended_Pictographic |
Extended_Pictographic |
ExtPict |
|
Extender |
Extender |
Ext |
|
Grapheme_Base |
Grapheme_Base |
Gr_Base |
|
Grapheme_Extend |
Grapheme_Extend |
Gr_Ext |
|
Hex_Digit |
Hex_Digit |
Hex |
|
IDS_Binary_Operator |
IDS_Binary_Operator |
IDSB |
|
IDS_Trinary_Operator |
IDS_Trinary_Operator |
IDST |
|
ID_Continue |
ID_Continue |
IDC |
|
ID_Start |
ID_Start |
IDS |
|
Ideographic |
Ideographic |
Ideo |
|
Join_Control |
Join_Control |
Join_C |
|
Logical_Order_Exception |
Logical_Order_Exception |
LOE |
|
Lowercase |
Lowercase |
Lower |
|
Math |
Math |
Noncharacter_Code_Point |
Noncharacter_Code_Point |
NChar |
|
Pattern_Syntax |
Pattern_Syntax |
Pat_Syn |
|
Pattern_White_Space |
Pattern_White_Space |
Pat_WS |
|
Quotation_Mark |
Quotation_Mark |
QMark |
|
Radical |
Radical |
Regional_Indicator |
Regional_Indicator |
RI |
|
Sentence_Terminal |
Sentence_Terminal |
STerm |
|
Soft_Dotted |
Soft_Dotted |
SD |
|
Terminal_Punctuation |
Terminal_Punctuation |
Term |
|
Unified_Ideograph |
Unified_Ideograph |
UIdeo |
|
Uppercase |
Uppercase |
Upper |
|
Variation_Selector |
Variation_Selector |
VS |
|
White_Space |
White_Space |
space |
|
XID_Continue |
XID_Continue |
XIDC |
|
XID_Start |
XID_Start |
XIDS |
Basic_Emoji |
Emoji_Keycap_Sequence |
RGI_Emoji_Modifier_Sequence |
RGI_Emoji_Flag_Sequence |
RGI_Emoji_Tag_Sequence |
RGI_Emoji_ZWJ_Sequence |
RGI_Emoji |
PropertyValueAliases.txt에 나열된 유니코드 프로퍼티 p의 프로퍼티 값 또는 프로퍼티 값 별칭입니다.구현체는 PropertyValueAliases.txt에 나열된 유니코드 프로퍼티 값 및 프로퍼티 값 별칭을 지원해야 합니다. 상호 운용성을 보장하기 위해 구현체는 다른 프로퍼티 값이나 프로퍼티 값 별칭을 지원해서는 안 됩니다.
예를 들어 Xpeo와 Old_Persian은 유효한 Script_Extensions 값이지만 xpeo와 Old Persian은 유효하지 않습니다.
이 알고리즘은 UAX44에 나열된 기호 값의 일치 규칙과 다릅니다. 대소문자, Is 접두사는 지원되지 않습니다.
이 절은
호출되면 다음 단계를 수행한다.
RegExp
extends 절 값으로 사용할 수 있습니다. 명시된 RegExp 동작을 상속하려는 하위 클래스 super 호출을 포함해야 합니다.이 함수는 호출되면 다음 단계를 수행합니다:
pattern이
RegExp
이 함수는 정규 표현식
호출되면 다음 단계를 수행합니다:
\0 문자 이스케이프나 \1 같은 \c 뒤의 문맥에 대해 동일한 역할을 합니다.이름은 비슷하지만 RegExp.escape는 비슷한 동작을 수행하지 않습니다. 전자는 문자열로 표현하기 위해 패턴을 이스케이프하고, 이 함수는 패턴 안에 표현하기 위해 문자열을 이스케이프합니다.
RegExp.prototype의 초기 값은
이 프로퍼티는 { [[Writable]]:
RegExp[%Symbol.species%]는 set 접근자 함수가
이 함수의
RegExp 프로토타입 메서드는 일반적으로
RegExp 프로토타입 객체는:
RegExp 프로토타입 객체는 자체
RegExp.prototype.constructor의 초기 값은
이 메서드는 string에서 정규 표현식 패턴의 출현을 검색하고 일치 결과를 포함하는 Array를 반환하며, string이 일치하지 않으면
호출되면 다음 단계를 수행합니다:
RegExp.prototype.dotAll은 set 접근자 함수가
RegExp.prototype.flags는 set 접근자 함수가
RegExp.prototype.global은 set 접근자 함수가
RegExp.prototype.hasIndices는 set 접근자 함수가
RegExp.prototype.ignoreCase는 set 접근자 함수가
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드의
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드의
RegExp.prototype.multiline은 set 접근자 함수가
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드의
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드의
검색을 수행할 때 이 RegExp 객체의
RegExp.prototype.source는 set 접근자 함수가
/ 또는 모든 ///는 이름은 비슷하지만 RegExp.escape와 EscapeRegExpPattern은 비슷한 동작을 수행하지 않습니다. 전자는 패턴 안에 표현하기 위해 문자열을 이스케이프하고, 이 함수는 문자열로 표현하기 위해 패턴을 이스케이프합니다.
이 메서드는 string을 String으로 변환한 결과의
/a*?/[Symbol.split]("ab")는 배열 ["a", "b"]로 평가되지만 /a*/[Symbol.split]("ab")는 배열 ["","b"]로 평가됩니다.)
string이 빈 String이거나 빈 String으로 변환되는 경우 결과는 정규 표현식이 빈 String과 일치할 수 있는지에 따라 달라집니다. 일치할 수 있으면 결과 배열에는 요소가 없습니다. 그렇지 않으면 결과 배열에는 빈 String인 하나의 요소가 있습니다.
정규 표현식에 캡처링 괄호가 포함되어 있으면 separator가 일치할 때마다 캡처링 괄호의 결과(
/<(\/)?([^<>]+)>/[Symbol.split]("A<B>bold</B>and<CODE>coded</CODE>")
는 다음 배열로 평가됩니다.
["A", undefined, "B", "bold", "/", "B", "and", undefined, "CODE", "coded", "/", "CODE", ""]
limit가
이 메서드는 호출되면 다음 단계를 수행합니다:
이 메서드의
이 메서드는 이 RegExp 객체의
RegExp.prototype.sticky는 set 접근자 함수가
이 메서드는 호출되면 다음 단계를 수행합니다:
반환된 String은 이 객체와 동일한 동작을 하는 다른 RegExp 객체로 평가되는
RegExp.prototype.unicode는 set 접근자 함수가
RegExp.prototype.unicodeSets는 set 접근자 함수가
호출 가능한
Match Record는 정규 표현식 일치 또는 캡처의 시작 및 끝 인덱스를 캡슐화하는 데 사용하는
Match Record에는
| 필드 이름 | 값 | 의미 |
|---|---|---|
| [[StartIndex]] | a non-negative integer | 일치가 시작하는 문자열의 시작부터의 코드 단위 수(포함)입니다. |
| [[EndIndex]] | an integer ≥ [[StartIndex]] | 일치가 끝나는 문자열의 시작부터의 코드 단위 수(제외)입니다. |
RegExp 인스턴스는
RegExp 인스턴스에는 다음 프로퍼티도 있습니다:
RegExp String Iterator는 특정 RegExp 인스턴스 객체에 대해 일치시키면서 특정 String 인스턴스 객체를 특정 방식으로 순회하는 객체입니다. RegExp String Iterator 객체에는 이름 있는
%RegExpStringIteratorPrototype% 객체는:
이 프로퍼티는 { [[Writable]]:
| 내부 슬롯 | 타입 | 설명 |
|---|---|---|
| [[IteratingRegExp]] | an Object | 순회에 사용하는 정규 표현식입니다. |
| [[IteratedString]] | a String | 순회 중인 String 값입니다. |
| [[Global]] | a Boolean | [[IteratingRegExp]]가 전역인지 여부를 나타냅니다. |
| [[Unicode]] | a Boolean | [[IteratingRegExp]]가 유니코드 모드인지 여부를 나타냅니다. |
| [[Done]] | a Boolean | 순회가 완료되었는지 여부를 나타냅니다. |