?um/p1-90`String
extends clause의 value로 사용될 수 있습니다. specified String behaviour를 inherit하려는 subclass super call을 include해야 합니다.이 function은 called될 때 following steps를 수행합니다:
String
이 function은 rest parameter codeUnits를 form하는 any number의 arguments와 함께 called될 수 있습니다.
called될 때 following steps를 수행합니다:
이 function의
이 function은 rest parameter codePoints를 form하는 any number의 arguments와 함께 called될 수 있습니다.
called될 때 following steps를 수행합니다:
이 function의
String.prototype의 initial value는
이 property는 attributes { [[Writable]]:
이 function은 variable number of arguments와 함께 called될 수 있습니다. first argument는 template이고 나머지 arguments는
called될 때 following steps를 수행합니다:
이 function은 Tagged Template(
String prototype object는:
explicitly 달리 stated되지 않는 한, 아래에 defined된 String prototype object의 methods는 generic하지 않으며, 이들에게 passed되는
이 method는 this object를 String으로 converting한 result인 String value 안에서 index position의 code unit을 contain하는 single element String을 반환합니다. 해당 index에 element가 없으면 result는 empty String입니다. result는 String value이며, String object가 아닙니다.
pos가 x.charAt(pos)의 result는 x.substring(pos, pos + 1)의 result와 equivalent합니다.
이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는 this object를 String으로 converting한 result인 String 안에서 index position의 code unit의 numeric value인 Number(216보다 작은 non-negative
이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는 this object를 String으로 converting한 result인 String 안에서 index position의 string element에서 starting하는 UTF-16 encoded code point(
이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method가 called되면
이 method는 called될 때 following steps를 수행합니다:
이 method의
이 method는 intentionally generic입니다;
String.prototype.constructor의 initial value는
이 method는 called될 때 following steps를 수행합니다:
first argument가 RegExp이면 exception을 throw하는 것은, future editions가 such argument values를 allow하는 extensions를 define할 수 있도록 specified되었습니다.
이 method는 intentionally generic입니다;
이 method는 called될 때 following steps를 수행합니다:
searchString이 this object를 String으로 converting한 result의
first argument가 RegExp이면 exception을 throw하는 것은, future editions가 such argument values를 allow하는 extensions를 define할 수 있도록 specified되었습니다.
이 method는 intentionally generic입니다;
searchString이 this object를 String으로 converting한 result의
이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는 called될 때 following steps를 수행합니다:
searchString이 this object를 String으로 converting한 result의
이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
ECMA-402 Internationalization API를 include하는 ECMAScript implementation은 ECMA-402 specification에 specified된 대로 이 method를 implement해야 합니다. ECMAScript implementation이 ECMA-402 API를 include하지 않으면 이 method의 following specification이 사용됩니다:
이 method는
comparisons를 수행하기 before, 이 method는 Strings를 prepare하기 위해 following steps를 수행합니다:
이 method에 대한 optional second 및 third parameters의 meaning은 ECMA-402 specification에 defined되어 있습니다; ECMA-402 support를 include하지 않는 implementations는 those parameter positions에 any other interpretation을 assign해서는 안 됩니다.
actual return values는 additional information을 encode할 수 있도록
이 method 자체는 Array.prototype.sort의 argument로 직접 suitable하지 않습니다. latter는 two arguments의 function을 require하기 때문입니다.
이 method는 ECMAScript environment가
// Å ANGSTROM SIGN vs.
// Å LATIN CAPITAL LETTER A + COMBINING RING ABOVE
"\u212B".localeCompare("A\u030A")
// Ω OHM SIGN vs.
// Ω GREEK CAPITAL LETTER OMEGA
"\u2126".localeCompare("\u03A9")
// ṩ LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE vs.
// ṩ 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 vs.
// ḍ̇ LATIN SMALL LETTER D WITH DOT BELOW + COMBINING DOT ABOVE
"\u1E0B\u0323".localeCompare("\u1E0D\u0307")
// 가 HANGUL CHOSEONG KIYEOK + HANGUL JUNGSEONG A vs.
// 가 HANGUL SYLLABLE GA
"\u1100\u1161".localeCompare("\uAC00")
canonical equivalence의 definition 및 discussion은 Unicode Standard의 chapters 2 및 3, 그리고 Unicode Standard Annex #15, Unicode Normalization Forms 및 Unicode Technical Note #5, Canonical Equivalence in Applications를 참조하십시오. 또한 Unicode Technical Standard #10, Unicode Collation Algorithm도 참조하십시오.
이 method는 Unicode Standard chapter 3, section 3.7에 defined된 Unicode compatibility equivalents 또는 compatibility decompositions를 honour하지 않는 것이 recommended됩니다.
이 method는 intentionally generic입니다;
이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는
called될 때 following steps를 수행합니다:
String.prototype.split과 similarly, String.prototype.matchAll은 typically 그 inputs를 mutating하지 않고 act하도록 designed되었습니다.이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는 called될 때 following steps를 수행합니다:
이 method는 called될 때 following steps를 수행합니다:
The abstract operation StringPaddingBuiltinsImpl takes arguments thisValue (an
The abstract operation StringPad takes arguments string (a String), maxLength (a non-negative
argument maxLength는 string의 length보다 작아질 수 없도록 clamped됩니다.
argument fillString은
The abstract operation ToZeroPaddedDecimalString takes arguments n (a non-negative
이 method는 called될 때 following steps를 수행합니다:
이 method는
이 method는 intentionally generic입니다;
이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
The abstract operation GetSubstitution takes arguments matched (a String), string (a String), position (a non-negative
이 method는 called될 때 following steps를 수행합니다:
이 method는 called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는 this object를 String으로 converting한 result의
called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는 this object를 String으로 converting한 result의 substrings가 stored된 Array를 반환합니다. substrings는 separator의 occurrences를 left to right로 searching하여 determined됩니다; 이러한 occurrences는 returned array 안의 any String의 part가 아니지만, String value를 divide up하는 역할을 합니다. separator의 value는 any length의 String일 수 있고,
called될 때 following steps를 수행합니다:
separator의 value는 empty String일 수 있습니다. 이 경우, separator는 input String의 beginning 또는 end에 있는 empty
separator가
이 method는 intentionally generic입니다;
이 method는 called될 때 following steps를 수행합니다:
first argument가 RegExp이면 exception을 throw하는 것은, future editions가 such argument values를 allow하는 extensions를 define할 수 있도록 specified되었습니다.
이 method는 intentionally generic입니다;
이 method는 this object를 String으로 converting한 result의
either argument가
start가 end보다 strictly greater이면, 둘은 swapped됩니다.
called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
ECMA-402 Internationalization API를 include하는 ECMAScript implementation은 ECMA-402 specification에 specified된 대로 이 method를 implement해야 합니다. ECMAScript implementation이 ECMA-402 API를 include하지 않으면 이 method의 following specification이 사용됩니다:
이 method는
toLowerCase와 exactly same하게 works하지만,
이 method에 대한 optional parameters의 meaning은 ECMA-402 specification에 defined되어 있습니다; ECMA-402 support를 include하지 않는 implementations는 those parameter positions를 anything else에 사용해서는 안 됩니다.
이 method는 intentionally generic입니다;
ECMA-402 Internationalization API를 include하는 ECMAScript implementation은 ECMA-402 specification에 specified된 대로 이 method를 implement해야 합니다. ECMAScript implementation이 ECMA-402 API를 include하지 않으면 이 method의 following specification이 사용됩니다:
이 method는
toUpperCase와 exactly same하게 works하지만,
이 method에 대한 optional parameters의 meaning은 ECMA-402 specification에 defined되어 있습니다; ECMA-402 support를 include하지 않는 implementations는 those parameter positions를 anything else에 사용해서는 안 됩니다.
이 method는 intentionally generic입니다;
이 method는
called될 때 following steps를 수행합니다:
result는 Unicode Character Database의 locale-insensitive case mappings에 따라 derived되어야 합니다(이는 file UnicodeData.txt뿐만 아니라 accompanying file SpecialCasing.txt 안의 모든 locale-insensitive mappings도 explicitly include합니다).
some code points의 case mapping은 multiple code points를 produce할 수 있습니다. 이 경우 result String은 source String과 same length가 아닐 수 있습니다. toUpperCase와 toLowerCase 모두 context-sensitive behaviour를 가지므로, methods는 symmetrical하지 않습니다. In other words, s.toUpperCase().toLowerCase()는 necessarily s.toLowerCase()와 equal하지 않습니다.
이 method는 intentionally generic입니다;
이 method는 called될 때 following steps를 수행합니다:
String object의 경우, 이 method는 valueOf method와 same thing을 return합니다.
이 method는
String.prototype.toLowerCase와 exactly same way로 behave하지만, String이 Unicode Default Case Conversion의 toUppercase algorithm을 사용하여 mapped된다는 점이 다릅니다.
이 method는 intentionally generic입니다;
이 method는
called될 때 following steps를 수행합니다:
이 method는
called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
The abstract operation TrimString takes arguments arg (an
white space의 definition은
이 method는
called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는
called될 때 following steps를 수행합니다:
이 method는 intentionally generic입니다;
이 method는 called될 때 following steps를 수행합니다:
The abstract operation ThisStringValue takes argument arg (an
이 method는 String value의 code points를 iterate하고, 각 code point를 String value로 반환하는
called될 때 following steps를 수행합니다:
이 method의
String instances는
String instances는
이 String object가 represented하는 String value 안의 elements 수입니다.
String object가 initialized되면, 이 property는 unchanging입니다. 이는 attributes { [[Writable]]:
String Iterator는 some specific String instance object에 대한 specific iteration을 represent하는 object입니다. String Iterator objects를 위한 named
%StringIteratorPrototype% object는:
이 property는 attributes { [[Writable]]:
RegExp object는 regular expression과 associated flags를 contain합니다.
regular expressions의 form과 functionality는 Perl 5 programming language의 regular expression facility를 model로 합니다.
RegExp
associated u \u \u u
여기서 first two lines는 CharacterClass와 equivalent합니다.
이 section의 number of productions는
이 section은
PropertyValueAliases.txt에 listed되어 있지 않으면 Syntax Error입니다.
PropertyValueAliases.txt에 listed된 General_Category (gc) property의 Unicode property value 또는 property value alias가 아니고, The abstract operation CountLeftCapturingParensWithin takes argument parseNode (a ( terminal에 의해 matched되는 any ( pattern character입니다.
이 section은
It performs the following steps when called:
The abstract operation CountLeftCapturingParensBefore takes argument parseNode (a
이 section은
It performs the following steps when called:
The abstract operation MightBothParticipate takes arguments x (a
The
이 section은
It is defined piecewise over the following productions:
“
The
이 section은
It is defined piecewise over the following productions:
The
이 section은
It is defined piecewise over the following productions:
| ControlEscape | Numeric Value | Code Point | Unicode Name | Symbol |
|---|---|---|---|---|
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> character를 represent하며 decimal digit이 follow될 수 없습니다.
The
The abstract operation GroupSpecifiersThatMatch takes argument thisGroupName (a
The
The
The
regular expression pattern은 아래에 described된 process를 사용하여
u도 v도 contain하지 않으면 BMP pattern입니다. Otherwise, Unicode pattern입니다. BMP pattern은 Basic Multilingual Plane의 range 안의 Unicode code points인 16-bit values의 sequence로 구성된 것으로 interpreted되는 String에 대해 match합니다. Unicode pattern은 UTF-16을 사용하여 encoded된 Unicode code points로 구성된 것으로 interpreted되는 String에 대해 match합니다. BMP pattern의 behaviour를 describing하는 context에서 “character”는 single 16-bit Unicode BMP code point를 의미합니다. Unicode pattern의 behaviour를 describing하는 context에서 “character”는 UTF-16 encoded code point(
예를 들어, source text에서 single non-BMP character U+1D11E (MUSICAL SYMBOL G CLEF)로 expressed된 pattern을 consider하십시오. Unicode pattern으로 interpreted되면, 이는 single code point U+1D11E로 구성된 single element(character)
Patterns는 ECMAScript String values로 RegExp
implementation은 such translations를 실제로 UTF-16으로 또는 UTF-16으로부터 perform하지 않을 수 있지만, 이 specification의 semantics는 pattern matching의 result가 such translations가 performed된 것과 같아야 함을 require합니다.
아래 descriptions는 다음 internal data structures를 사용합니다:
RegExp Record는 compilation 중 및 possibly matching 중에 needed되는 RegExp에 대한 information을 store하는 데 사용되는
다음 fields를 가집니다:
| Field Name | Value | Meaning |
|---|---|---|
| [[IgnoreCase]] | a Boolean | |
| [[Multiline]] | a Boolean | |
| [[DotAll]] | a Boolean | |
| [[Unicode]] | a Boolean | |
| [[UnicodeSets]] | a Boolean | |
| [[CapturingGroupsCount]] | a non-negative |
RegExp pattern 안의 |
The
Pattern은
The
이 section은
It is defined piecewise over the following productions:
| regular expression operator는 two alternatives를 separates합니다. pattern은 first left |에 의해 skipped된 pattern portion 안의 any capturing parentheses는 Strings 대신
/a|ab/.exec("abc")
는
/((a)|(ab))((c)|(bc))/.exec("abc")
는 array
["abc", "a", "a", undefined, "bc", undefined, "bc"]
를 반환하고, 다음을 반환하지 않습니다
["abc", "ab", undefined, "ab", "c", "c", undefined]
two alternatives가 tried되는 order는 direction의 value와 independent합니다.
Consecutive
resulting
The abstract operation RepeatMatcher takes arguments m (a
Compare
/a[a-z]{2,4}/.exec("abcdefghi")
which returns
/a[a-z]{2,4}?/.exec("abcdefghi")
which returns
Consider also
/(aa|aabaac|ba|b|c)*/.exec("aabaac")
which, by the choice point ordering above, returns the array
["aaba", "ba"]
and not any of:
["aabaac", "aabaac"]
["aabaac", "c"]
위 choice points의 ordering은 two numbers(unary notation으로 represented됨)의 greatest common divisor를 calculate하는 regular expression을 writing하는 데 사용될 수 있습니다. following example은 10과 15의 gcd를 calculates합니다:
"aaaaaaaaaa,aaaaaaaaaaaaaaa".replace(/^(a+)\1*,\1+$/, "$1")
which returns the gcd in unary notation
RepeatMatcher의 step
/(z)((a+)?(b+)?(c))*/.exec("zaacbbbcac")
에서 its behaviour를 볼 수 있으며, 이는 array
["zaacbbbcac", "z", "ac", "a", undefined, "c"]
를 반환하고, 다음을 반환하지 않습니다
["zaacbbbcac", "z", "ac", "a", "bbb", "c"]
because outermost *의 each iteration은 quantified
RepeatMatcher의 step
/(a*)*/.exec("b")
or the slightly more complicated:
/(a*)b\1+/.exec("baaaac")
which returns the array
["b", ""]
The abstract operation EmptyMatcher takes no arguments and returns a
The abstract operation MatchTwoAlternatives takes arguments m1 (a
The abstract operation MatchSequence takes arguments m1 (a
The
이 section은
It is defined piecewise over the following productions:
y flag가 pattern과 함께 used될 때조차, ^는 always input의 beginning에서만, 또는(regexpRecord.[[Multiline]]이
form (?= )는 zero-width positive lookahead를 specifies합니다. 이것이 succeed하려면, (?= form 안으로의 backtracking은 없습니다(this unusual behaviour는 Perl로부터 inherited되었습니다). 이는
예를 들어,
/(?=(a+))/.exec("baaabac")
는 first b 바로 뒤의 empty String을 matches하므로 array를 반환합니다:
["", "aaa"]
lookahead 안으로 backtracking이 없는 것을 illustrate하기 위해 다음을 consider하십시오:
/(?=(a+))a*b\1/.exec("baaabac")
이 expression은 다음을 반환합니다
["aba", "a"]
그리고 다음을 반환하지 않습니다:
["aaaba", "a"]
form (?! )는 zero-width negative lookahead를 specifies합니다. 이것이 succeed하려면,
/(.*?)a(?!(a+)b\2c)\2(.*)/.exec("baaabaac")
는 positive number n of a's, b, another n a's(first \2로 specified됨), 그리고 c가 immediately followed하지 않는 a를 looks for합니다. second \2는 negative lookahead outside에 있으므로,
["baaabaac", "ba", undefined, "abaac"]
The abstract operation IsWordChar takes arguments regexpRecord (a
The
The
The
이 section은
It is defined piecewise over the following productions:
form ( )의 Parentheses는 \ followed by a non-zero decimal number), replace String 안에서 referenced, 또는 regular expression matching (?: )를 사용하십시오.
form \ followed by a non-zero decimal number n의 escape sequence는 nth set of capturing parentheses의 result(
The abstract operation CharacterSetMatcher takes arguments regexpRecord (a
The abstract operation BackreferenceMatcher takes arguments regexpRecord (a
The abstract operation Canonicalize takes arguments regexpRecord (a
CaseFolding.txt가 char에 대한 simple 또는 common case folding mapping을 provide하면, 그 mapping을 char에 apply한 result를 반환한다.ß (U+00DF LATIN SMALL LETTER SHARP S)를 ss 또는 SS로 map하지 않습니다. 그러나 Basic Latin block 밖의 code points를 그 안의 code points로 map할 수 있습니다 — 예를 들어, ſ (U+017F LATIN SMALL LETTER LONG S)는 s (U+0073 LATIN SMALL LETTER S)로 case-fold되고 K (U+212A KELVIN SIGN)는 k (U+006B LATIN SMALL LETTER K)로 case-fold됩니다. those code points를 contain하는 Strings는 /[a-z]/ui와 같은 regular expressions에 의해 matched됩니다.
Ω (U+2126 OHM SIGN)는 toUppercase에 의해 itself로 mapped되지만 toCasefold에 의해 Ω (U+03A9 GREEK CAPITAL LETTER OMEGA)와 함께 ω (U+03C9 GREEK SMALL LETTER OMEGA)로 mapped되므로, /[ω]/ui 및 /[\u03A9]/ui에 의해 matched되지만 /[ω]/i 또는 /[\u03A9]/i에 의해 matched되지 않습니다. 또한 Basic Latin block 밖의 code point는 그 안의 code point로 mapped되지 않으므로, /[a-z]/i에 의해 matched되지 않습니다.
The abstract operation UpdateModifiers takes arguments regexpRecord (a
The
The
이 section은
It is defined piecewise over the following productions:
pattern이 case를 ignores하더라도, range의 two ends의 case는 어떤 characters가 range에 belong하는지 determining하는 데 significant합니다. 따라서 예를 들어, pattern /[E-F]/i는 letters E, F, e, 및 f만 matches하는 반면, pattern /[E-f]/i는 Unicode Basic Latin block 안의 all uppercase and lowercase letters 및 symbols [, \, ], ^, _, 그리고 `를 matches합니다.
- character는 literally treated될 수 있고 range를 denote할 수도 있습니다. It is treated literally if it is the first or last character of
- U+002D (HYPHEN-MINUS)를 contain하는 \b, \B, 및 backreferences는 제외합니다. \b는 backspace character를 의미하는 반면, \B 및 backreferences는 errors를 raise합니다.
0, 1, 2, 3, 4, 5, 6, 7, 8, 및 9를 contain하는 ten-element General_Category, s)가 PropertyValueAliases.txt에 listed된 General_Category (gc) property의 Unicode property value 또는 property value alias이면, 다음을 수행한다.result는 often two or more ranges로 구성됩니다. UnicodeSets가
The abstract operation CharacterRange takes arguments charSet (a
The abstract operation HasEitherUnicodeFlag takes argument regexpRecord (a
The abstract operation WordCharacters takes argument regexpRecord (a \b, \B, \w, 및 \W의 purposes를 위해 “word characters”로 considered되는 characters를 contain하는
The abstract operation AllCharacters takes argument regexpRecord (a
The abstract operation MaybeSimpleCaseFolding takes arguments regexpRecord (a CaseFolding.txt 안의 Simple Case Folding (
The abstract operation CharacterComplement takes arguments regexpRecord (a
The abstract operation UnicodeMatchProperty takes arguments regexpRecord (a
Implementations는
예를 들어, Script_Extensions(scx(property alias)는 valid이지만, script_extensions 또는 Scx는 그렇지 않습니다.
listed properties는 UTS18 RL1.2가 require하는 것의 superset을 form합니다.
these tables의 entries의 spellings(casing 포함)는 Unicode Character Database의 file PropertyAliases.txt에서 used되는 spellings와 match합니다. that file의 precise spellings는 stable하다고 guaranteed됩니다.
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 |
The abstract operation UnicodeMatchPropertyValue takes arguments p (
PropertyValueAliases.txt에 listed되어 있다.Implementations는 PropertyValueAliases.txt에 listed된 Unicode property values 및 property value aliases를 support해야 합니다. interoperability를 ensure하기 위해, implementations는 any other property values 또는 property value aliases를 support해서는 안 됩니다.
예를 들어, Xpeo 및 Old_Persian은 valid Script_Extensions values이지만, xpeo 및 Old Persian은 그렇지 않습니다.
이 algorithm은 UAX44에 listed된 symbolic values에 대한 matching rules와 다릅니다: case, Is prefix는 supported되지 않습니다.
The
The abstract operation RegExpCreate takes arguments pattern (an
The abstract operation RegExpAlloc takes argument newTarget (a
The abstract operation RegExpInitialize takes arguments obj (an Object), pattern (an
The abstract operation ParsePattern takes arguments patternText (a sequence of Unicode code points), u (a Boolean), and v (a Boolean) and returns a
이 section은
It performs the following steps when called:
RegExp
extends clause의 value로 사용될 수 있습니다. specified RegExp behaviour를 inherit하려는 subclass super call을 include해야 합니다.이 function은 called될 때 다음 steps를 수행합니다:
pattern이
RegExp
이 function은 regular expression
called될 때 다음 steps를 수행합니다:
\0 character escape 또는 \1 같은 \c 뒤의 context에 대해 같은 일을 한다.similar names를 가지고 있음에도, RegExp.escape는 similar actions를 수행하지 않습니다. former는 string으로 representation하기 위해 pattern을 escapes하는 반면, 이 function은 pattern 안에서 representation하기 위해 string을 escapes합니다.
The abstract operation EncodeForRegExpEscape takes argument codePoint (a code point) and returns a String. codePoint를 matching하기 위한
RegExp.prototype의 initial value는
이 property는 attributes { [[Writable]]:
RegExp[%Symbol.species%]는 set accessor function이
이 function의
RegExp prototype methods는 normally their
RegExp prototype object는:
RegExp prototype object는 its own
RegExp.prototype.constructor의 initial value는
이 method는 regular expression pattern의 occurrence를 string에서 searches하고 match의 results를 contain하는 Array 또는 string이 match하지 않은 경우
called될 때 다음 steps를 수행합니다:
RegExp.prototype.dotAll은 set accessor function이
RegExp.prototype.flags는 set accessor function이
The abstract operation RegExpHasFlag takes arguments regexp (an
RegExp.prototype.global은 set accessor function이
RegExp.prototype.hasIndices는 set accessor function이
RegExp.prototype.ignoreCase는 set accessor function이
이 method는 called될 때 다음 steps를 수행합니다:
이 method의
이 method는 called될 때 다음 steps를 수행합니다:
이 method의
RegExp.prototype.multiline은 set accessor function이
이 method는 called될 때 다음 steps를 수행합니다:
이 method의
이 method는 called될 때 다음 steps를 수행합니다:
이 method의
이 RegExp object의
RegExp.prototype.source는 set accessor function이
The abstract operation EscapeRegExpPattern takes arguments pattern (a String) and flags (a String) and returns a String. It performs the following steps when called:
/ 또는 any ///는 similar names를 가지고 있음에도, RegExp.escape와 EscapeRegExpPattern은 similar actions를 수행하지 않습니다. former는 pattern 안에서 representation하기 위해 string을 escapes하는 반면, 이 function은 string으로 representation하기 위해 pattern을 escapes합니다.
이 method는 string을 String으로 converting한 result의 substrings가 stored된 Array를 반환합니다. substrings는
/a*?/[Symbol.split]("ab")는 array ["a", "b"]로 evaluates되는 반면, /a*/[Symbol.split]("ab")는 array ["","b"]로 evaluates됩니다.)
string이 empty String이거나 empty String으로 converts되면, result는 regular expression이 empty String을 match할 수 있는지 여부에 depends합니다. match할 수 있으면, result array는 no elements를 contain합니다. Otherwise, result array는 one element를 contain하며, 이는 empty String입니다.
regular expression이 capturing parentheses를 contain하면, separator가 matched될 때마다 capturing parentheses의 results(any
/<(\/)?([^<>]+)>/[Symbol.split]("A<B>bold</B>and<CODE>coded</CODE>")
는 array로 evaluates됩니다
["A", undefined, "B", "bold", "/", "B", "and", undefined, "CODE", "coded", "/", "CODE", ""]
limit이
이 method는 called될 때 다음 steps를 수행합니다:
이 method의
이 method는 이 RegExp object의
RegExp.prototype.sticky는 set accessor function이
이 method는 called될 때 다음 steps를 수행합니다:
returned String은 this object와 same behaviour를 가진 another RegExp object로 evaluates되는
RegExp.prototype.unicode는 set accessor function이
RegExp.prototype.unicodeSets는 set accessor function이
The abstract operation RegExpExec takes arguments regexp (an Object) and string (a String) and returns either a
callable
The abstract operation RegExpBuiltinExec takes arguments regexp (an initialized RegExp instance) and string (a String) and returns either a
The abstract operation AdvanceStringIndex takes arguments string (a String), index (a non-negative
The abstract operation GetStringIndex takes arguments string (a String) and codePointIndex (a non-negative
Match Record는 regular expression match 또는 capture의 start 및 end indices를 encapsulate하는 데 사용되는
Match Records는
| Field Name | Value | Meaning |
|---|---|---|
| [[StartIndex]] | a non-negative |
match가 begin하는(inclusive) string의 start부터의 code units 수입니다. |
| [[EndIndex]] | an |
match가 end하는(exclusive) string의 start부터의 code units 수입니다. |
The abstract operation GetMatchString takes arguments string (a String) and match (a
The abstract operation GetMatchIndexPair takes arguments string (a String) and match (a
The abstract operation MakeMatchIndicesIndexPairArray takes arguments string (a String), indices (a
RegExp instances는
ECMAScript 2015 이전에는 RegExp instances가 own RegExp.prototype의
RegExp instances는 또한 다음 property를 가집니다:
RegExp String Iterator는 some specific String instance object에 대한 specific iteration을 represent하고, some specific RegExp instance object에 대해 matching하는 object입니다. RegExp String Iterator objects를 위한 named
The abstract operation CreateRegExpStringIterator takes arguments regexp (an Object), string (a String), global (a Boolean), and fullUnicode (a Boolean) and returns an Object. It performs the following steps when called:
%RegExpStringIteratorPrototype% object는:
이 property는 attributes { [[Writable]]:
| Internal Slot | Type | Description |
|---|---|---|
| [[IteratingRegExp]] | an Object | iteration에 사용되는 regular expression입니다. |
| [[IteratedString]] | a String | iterated upon되고 있는 String value입니다. |
| [[Global]] | a Boolean | [[IteratingRegExp]]가 global인지 여부를 indicate합니다. |
| [[Unicode]] | a Boolean | [[IteratingRegExp]]가 Unicode mode인지 여부를 indicate합니다. |
| [[Done]] | a Boolean | iteration이 complete되었는지 여부를 indicate합니다. |