?um/p1-90`String
extends 句の値として利用できる。指定された String の挙動を継承したいサブクラスのsuper 呼び出しを含めなければならない。この関数は呼び出されたとき以下の手順を実行する:
String
この関数は残余引数 codeUnits を構成する任意個の引数で呼び出すことができる。
呼び出されたとき以下を行う:
この関数の
この関数は残余引数 codePoints を構成する任意個の引数で呼び出すことができる。
呼び出されたとき以下を行う:
この関数の
String.prototype の初期値は
このプロパティの属性は { [[Writable]]:
この関数は可変個の引数で呼び出される。最初の引数が template、残りがリスト substitutions を構成する。
呼び出されたとき以下を行う:
この関数はタグ付きテンプレート (
String プロトタイプオブジェクトは以下を満たす:
特に明記されない限り、以下で定義される String プロトタイプオブジェクトのメソッドはジェネリックではなく、渡される
このメソッドは、このオブジェクトを String に変換した値のインデックス pos にあるコードユニットを含む 1 文字の String を返す。その位置に要素がなければ結果は空文字列となる。結果は String オブジェクトではなく String 値である。
pos がx.charAt(pos) の結果は x.substring(pos, pos + 1) の結果と等価である。
呼び出し時に以下を行う:
このメソッドは意図的にジェネリックであり、
このメソッドは、このオブジェクトを String に変換した結果内のインデックス pos のコードユニットの数値 (0 以上 216 未満の
呼び出し時に以下を行う:
このメソッドは意図的にジェネリックであり、
呼び出し時の手順:
このメソッドはジェネリックであり他オブジェクトに転用可能。
このメソッドは
呼び出し時:
このメソッドの
ジェネリックであり他オブジェクトに転用可能。
String.prototype.constructor の初期値は
呼び出し時の手順:
endPosition - length(this) から始まる対応するコードユニット列が一致すれば
最初の引数が RegExp の場合に例外を投げるのは将来の拡張余地のため。
ジェネリックであり転用可能。
呼び出し時:
position 以上の位置で searchString が
RegExp の場合例外を投げる理由は将来拡張のため。
ジェネリック。
position 以上で最初に現れるインデックスを返し、存在しなければ
手順:
ジェネリック。
呼び出し時:
position 以下で最後に現れるインデックスを返し、存在しなければ
手順:
ジェネリック。
ECMA-402 国際化 API を含む実装は ECMA-402 の規定に従う。含まない実装では次を用いる:
このメソッドは
比較の前に以下を行う:
第2・第3引数の意味は ECMA-402 仕様に定義され、未実装の場合他用途に用いてはならない。
実際の戻り値は追加情報符号化のため
2 引数関数を要求する Array.prototype.sort の引数に直接適切ではない。
このメソッドは
// Å 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")
正規等価性の定義と議論は Unicode Standard 2章・3章、UAX #15、UTN #5、および UTS #10 を参照。
Unicode 互換等価や互換分解は尊重しないことが推奨される。
ジェネリックであり転用可能。
呼び出し時:
ジェネリック。
このメソッドは
呼び出し時:
String.prototype.split と同様に通常入力を破壊しないよう設計されている。呼び出し時:
ジェネリック。
呼び出し時:
呼び出し時:
The abstract operation StringPaddingBuiltinsImpl takes arguments O (an ECMAScript language value), maxLength (an ECMAScript language value), fillString (an ECMAScript language value), and placement (
The abstract operation StringPad takes arguments S (a String), maxLength (a non-negative integer), fillString (a String), and placement (
maxLength は S の長さ未満にならないようクランプされる。
fillString の既定は
The abstract operation ToZeroPaddedDecimalString takes arguments n (a non-negative integer) and minLength (a non-negative integer) and returns a String. It performs the following steps when called:
呼び出し時:
ジェネリック。
呼び出し時:
ジェネリック。
The abstract operation GetSubstitution takes arguments matched (a String), str (a String), position (a non-negative integer), captures (a
呼び出し時:
呼び出し時:
ジェネリック。
このメソッドは、このオブジェクトを String に変換した結果の start から (含まない)end まで(end が
呼び出し時:
ジェネリック。
このメソッドは、このオブジェクトを String に変換した結果を左から separator の出現で分割した
呼び出し時:
separator が空文字列なら先頭末尾や直前マッチ末尾の空
separator が
ジェネリック。
呼び出し時:
指定位置からの一致で
RegExp の場合例外を投げる理由は将来拡張のため。
ジェネリック。
このメソッドは、このオブジェクトを String に変換した結果のインデックス start から (含まない)end まで(end が
どちらかの引数が
start > end の場合は入れ替える。
手順:
ジェネリック。
ECMA-402 実装時はそちらに従う。未実装時は以下。
このメソッドは
toLowerCase と同様だがロケール依存(例: トルコ語など特別な場合)。
オプション引数の意味は ECMA-402 に定義され、未実装時は他用途禁止。
ジェネリック。
ECMA-402 実装時はその仕様に従う。未実装時は以下。
String を UTF-16 コードポイント列として解釈。
toUpperCase と同様だがロケール依存結果を意図。
オプション引数の意味は ECMA-402 にのみ定義。
ジェネリック。
String を UTF-16 コードポイント列として解釈する (
呼び出し時:
結果は Unicode Character Database のロケール非依存マッピング(UnicodeData.txt と SpecialCasing.txt のロケール非依存部分)に従う。
一部コードポイントは複数コードポイントへ写像され長さが変わり得る。toUpperCase と toLowerCase は文脈依存で対称ではない。
ジェネリック。
呼び出し時:
String オブジェクトにおいては valueOf と同じ結果。
String を UTF-16 コードポイント列として解釈する。
String.prototype.toLowerCase と同様に動作するが Unicode 既定ケース変換の大文字化アルゴリズムを用いる。
ジェネリック。
このオブジェクトの文字列表現から、
呼び出し時:
String を UTF-16 コードポイント列として解釈する。
呼び出し時:
ジェネリック。
The abstract operation TrimString takes arguments string (an ECMAScript language value) and where (
空白の定義は
String を UTF-16 コードポイント列として解釈する。
呼び出し時:
ジェネリック。
String を UTF-16 コードポイント列として解釈する。
呼び出し時:
ジェネリック。
呼び出し時:
The abstract operation ThisStringValue takes argument value (an ECMAScript language value) and returns either a
このメソッドは String 値のコードポイントを順次 (各コードポイントを String として) 返すイテレータオブジェクトを返す。
呼び出し時:
このメソッドの
String インスタンスは
String インスタンスは
この String オブジェクトが表す String 値の要素数。
一度初期化されると不変。このプロパティの属性は { [[Writable]]:
String Iterator は特定の String インスタンス上の特定の反復を表すオブジェクト。名前付き
%StringIteratorPrototype% オブジェクト:
属性は { [[Writable]]:
RegExp オブジェクトは正規表現パターンと関連するフラグを保持する。
正規表現の形式と機能は Perl 5 の正規表現機能を手本としている。
RegExp
関連付ける \u \u \u u
最初の二つの行は CharacterClass と同等である。
この節の複数の生成規則は
この節は
PropertyValueAliases.txt に記載されていない場合、これは構文エラーとなる。
PropertyValueAliases.txt に記載されている General_Category (gc) プロパティの Unicode プロパティ値またはプロパティ値エイリアスでもなく、「The abstract operation UNKNOWN takes UNPARSEABLE ARGUMENTS. node 内の左捕捉括弧の個数を返す。左捕捉括弧とは ( 終端にマッチする任意の ( パターン文字である。
この節は
It performs the following steps when called:
The abstract operation UNKNOWN takes UNPARSEABLE ARGUMENTS. 外側のパターン内で node の左側に現れる
この節は
It performs the following steps when called:
The abstract operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It performs the following steps when called:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS.
この節は
It is defined piecewise over the following productions:
“
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS.
この節は
It is defined piecewise over the following productions:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS.
この節は
It is defined piecewise over the following productions:
| ControlEscape | 数値 | Code Point | Unicode 名 | 記号 |
|---|---|---|---|---|
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> 文字を表し、その後に 10 進数字を続けることはできない。
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
The abstract operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It performs the following steps when called:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
正規表現パターンは以下で記述される手順を用いて抽象クロージャ (
u も v も含まない場合 BMP パターンである。そうでなければ Unicode パターンである。BMP パターンは、基本多言語面 (BMP) の範囲内の Unicode コードポイントから成る 16 ビット値列として解釈される String に対してマッチを行う。Unicode パターンは UTF-16 でエンコードされた Unicode コードポイント列として解釈される String に対してマッチを行う。BMP パターンの挙動を記述する文脈では「文字」は単一の 16 ビット Unicode BMP コードポイントを意味する。Unicode パターンの挙動を記述する文脈では「文字」は UTF-16 でエンコードされたコードポイント (
例えば、ソーステキスト中で単一の非 BMP 文字 U+1D11E (MUSICAL SYMBOL G CLEF) で表されたパターンを考える。Unicode パターンとして解釈されると、それは単一コードポイント U+1D11E を要素とする 1 要素 (1 文字) の
パターンは非 BMP 文字が UTF-16 エンコードされた ECMAScript の String 値として RegExp
実装は実際に UTF-16 との間のこのような変換を行わないかもしれないが、本仕様のセマンティクスは、パターンマッチングの結果があたかもそのような変換が行われたかのようであることを要求する。
以下の記述では次の内部データ構造を用いる:
RegExp Record は、コンパイル中および必要に応じてマッチング中に RegExp について必要となる情報を保持するために用いられる
次のフィールドを持つ:
| Field Name | Value | Meaning |
|---|---|---|
| [[IgnoreCase]] | Boolean | フラグに |
| [[Multiline]] | Boolean | フラグに |
| [[DotAll]] | Boolean | フラグに |
| [[Unicode]] | Boolean | フラグに |
| [[UnicodeSets]] | Boolean | フラグに |
| [[CapturingGroupsCount]] | 非負 |
パターン内の |
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS.
この節は
It is defined piecewise over the following productions:
| 演算子は 2 つの選択肢を分離する。まず左側の | によりスキップされたパターン部分内の捕捉括弧は
/a|ab/.exec("abc")
は結果
/((a)|(ab))((c)|(bc))/.exec("abc")
は配列
["abc", "a", "a", undefined, "bc", undefined, "bc"]
を返し、
["abc", "ab", undefined, "ab", "c", "c", undefined]
ではない。2 つの選択肢を試す順序は direction の値と無関係。
連続する
得られる
The abstract operation RepeatMatcher takes arguments m (a
比較:
/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"]
この選択点の順序は、単項表記の 2 つの数の最大公約数 (GCD) を計算する正規表現を書くのに利用できる。以下は 10 と 15 の gcd を計算する例:
"aaaaaaaaaa,aaaaaaaaaaaaaaa".replace(/^(a+)\1*,\1+$/, "$1")
結果は単項表記の
RepeatMatcher のステップ
/(a*)*/.exec("b")
またはやや複雑な:
/(a*)b\1+/.exec("baaaac")
これは配列
["b", ""]
を返す。
The abstract operation EmptyMatcher takes no arguments and returns
The abstract operation MatchTwoAlternatives takes arguments m1 (
The abstract operation MatchSequence takes arguments m1 (
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS.
この節は
It is defined piecewise over the following productions:
y フラグがパターンに使われている場合でも、^ は常に Input の先頭、または (rer.[[Multiline]] が
(?= ) 形式はゼロ幅正の先読み。成功するには (?= 形式内へのバックトラッキングは行われない (Perl 由来)。これは
例:
/(?=(a+))/.exec("baaabac")
は最初の b の直後で空文字列にマッチし、配列:
["", "aaa"]
を返す。先読み内へのバックトラッキング欠如を示すため:
/(?=(a+))a*b\1/.exec("baaabac")
は
["aba", "a"]
を返し、
["aaaba", "a"]
ではない。
(?! ) 形式はゼロ幅負の先読み。成功には
/(.*?)a(?!(a+)b\2c)\2(.*)/.exec("baaabaac")
は「a の直後に n (>0) 個の a、b、さらに n 個の a (\2)、c」が続かない a を探す。2 つ目の \2 は負の先読みの外なので
["baaabaac", "ba", undefined, "abaac"]
を返す。
The abstract operation IsWordChar takes arguments rer (a
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS.
この節は
It is defined piecewise over the following productions:
( ) 形式の括弧は \ + 非ゼロ 10 進数)、置換文字列で参照、または正規表現マッチ抽象クロージャが返す配列の一部として利用できる。捕捉挙動を抑止するには (?: ) を用いる。
\ に非ゼロ 10 進数 n が続くエスケープは n 番目の捕捉括弧集合の結果にマッチする (
The abstract operation CharacterSetMatcher takes arguments rer (a
The abstract operation BackreferenceMatcher takes arguments rer (a
The abstract operation Canonicalize takes arguments rer (a
CaseFolding.txt が ch に単純または共通のケースフォールディングを提供するなら、その写像結果を返す。ß は ss や SS には写らない。基本ラテンブロック外から内へ写像する場合がある (例: ſ → s, K → k)。これらを含む文字列は /[a-z]/ui などでマッチする。
Ω は toUppercase では自身、toCasefold では ω に写るため /[ω]/ui や /[\u03A9]/ui にマッチするが /[ω]/i や /[\u03A9]/i にはマッチしない。また基本ラテン外から内への写像は行われないので /[a-z]/i にマッチしない。
The abstract operation UpdateModifiers takes arguments rer (a
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS.
この節は
It is defined piecewise over the following productions:
パターンが大文字小文字を無視する場合でも、範囲両端の大文字小文字は範囲に含まれる文字を決定する上で重要。例: /[E-F]/i は E, F, e, f のみ、/[E-f]/i は Unicode Basic Latin ブロックの全大文字小文字および [, \, ], ^, _, ` にマッチ。
- は文字通りにも範囲指定にも使える。
- U+002D (HYPHEN-MINUS) を含む \b, \B, 後方参照を除く正規表現中で許されるエスケープを利用できる。\b はバックスペース文字、\B と後方参照はエラー。
0〜9 を含む 10 要素 General_Category, s) が PropertyValueAliases.txt に記載された General_Category (gc) プロパティの Unicode プロパティ値またはプロパティ値エイリアスである場合、結果はしばしば 2 個以上の範囲で構成される。UnicodeSets が
The abstract operation CharacterRange takes arguments A (
The abstract operation HasEitherUnicodeFlag takes argument rer (a
The abstract operation WordCharacters takes argument rer (a \b, \B, \w, \W のために「word characters」と見なされる文字を含む
The abstract operation AllCharacters takes argument rer (a
The abstract operation MaybeSimpleCaseFolding takes arguments rer (a CaseFolding.txt) を用い、A の各
The abstract operation CharacterComplement takes arguments rer (a
The abstract operation UnicodeMatchProperty takes arguments rer (RegExp レコード) and p (
実装は、
例えば、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 |
The abstract operation UnicodeMatchPropertyValue takes arguments p (
PropertyValueAliases.txt に記載されている Unicode プロパティ p のプロパティ値またはプロパティ値エイリアスであることを保証する。実装は、PropertyValueAliases.txt に記載されている Unicode プロパティ値およびプロパティ値エイリアスをサポートしなければならない。相互運用性を確保するため、他のプロパティ値やプロパティ値エイリアスはサポートしてはならない。
例えば、Xpeo や Old_Persian は Script_Extensions の有効な値だが、xpeo や Old Persian は無効である。
このアルゴリズムは UAX44 で記載されている記号値のマッチングルール とは異なる:大文字・小文字、Is プレフィックスもサポートされない。
The syntax-directed operation UNKNOWN takes UNPARSEABLE ARGUMENTS. It is defined piecewise over the following productions:
The abstract operation RegExpCreate takes arguments P (ECMAScript 言語値) and F (String または
The abstract operation RegExpAlloc takes argument newTarget (constructor) and returns オブジェクトを含む通常完了または throw 完了. It performs the following steps when called:
The abstract operation RegExpInitialize takes arguments obj (オブジェクト), pattern (ECMAScript 言語値), and flags (ECMAScript 言語値) and returns オブジェクトを含む通常完了または throw 完了. It performs the following steps when called:
The abstract operation UNKNOWN takes UNPARSEABLE ARGUMENTS.
この節は
It performs the following steps when called:
RegExp
extends 句の値として使用できる。指定された RegExp の挙動を継承するサブクラスのsuper 呼び出しを含めなければならない。この関数は呼び出し時に以下を行う:
pattern が
RegExp
この関数は、正規表現
呼び出し時に以下を行う:
\0 や \1 などの \c の後の文脈で同様。名前が類似していても RegExp.escape は異なる働きをする。前者はパターンを文字列表現へエスケープし、後者は文字列をパターン内表現のためにエスケープする。
The abstract operation EncodeForRegExpEscape takes argument cp (コードポイント) and returns String. cp をマッチする
RegExp.prototype の初期値は
このプロパティの属性は { [[Writable]]:
RegExp[%Symbol.species%] は set アクセサが
この関数の
RegExp プロトタイプメソッドは通常
RegExp プロトタイプオブジェクト:
RegExp プロトタイプオブジェクトは自身の
RegExp.prototype.constructor の初期値は
このメソッドは string 内で正規表現パターンの出現を検索し、マッチ結果を含む Array を返す。マッチしなければ
呼び出し時に以下を行う:
RegExp.prototype.dotAll は set アクセサが
RegExp.prototype.flags は set アクセサが
The abstract operation RegExpHasFlag takes arguments R (ECMAScript 言語値) and codeUnit (コードユニット) and returns Boolean または
RegExp.prototype.global は set アクセサが
RegExp.prototype.hasIndices は set アクセサが
RegExp.prototype.ignoreCase は set アクセサが
このメソッドは呼び出し時以下を行う:
このメソッドの
このメソッドは呼び出し時以下を行う:
このメソッドの
RegExp.prototype.multiline は set アクセサが
このメソッドは呼び出し時以下を行う:
このメソッドの
このメソッドは呼び出し時以下を行う:
このメソッドの
検索時この RegExp オブジェクトの
RegExp.prototype.source は set アクセサが
The abstract operation EscapeRegExpPattern takes arguments P (String) and F (String) and returns String. It performs the following steps when called:
/ または任意の /// + F が 名前が類似していても RegExp.escape と EscapeRegExpPattern は異なる。前者は文字列をパターン内部表現用にエスケープし、後者はパターンを文字列表現用にエスケープする。
このメソッドは string を String に変換した結果の
/a*?/[Symbol.split]("ab") は ["a","b"]、/a*/[Symbol.split]("ab") は ["","b"]。)
string が(または変換後)空文字列の場合、正規表現が空文字列にマッチ可能かどうかで結果が異なる。マッチ可能なら結果配列は空、そうでなければ空文字列 1 要素を含む。
正規表現が捕捉括弧を含むとき、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.prototype.unicode は set アクセサが
RegExp.prototype.unicodeSets は set アクセサが
The abstract operation RegExpExec takes arguments R (オブジェクト) and S (String) and returns オブジェクトまたは
呼び出し可能な
The abstract operation RegExpBuiltinExec takes arguments R (初期化済み RegExp インスタンス) and S (String) and returns
The abstract operation AdvanceStringIndex takes arguments S (String), index (非負
The abstract operation GetStringIndex takes arguments S (String) and codePointIndex (非負
Match Record は正規表現のマッチまたはキャプチャの開始・終了インデックスを保持する
Match Record は
| Field Name | Value | Meaning |
|---|---|---|
| [[StartIndex]] | 非負 |
マッチ開始位置 (含む) までのコードユニット数。 |
| [[EndIndex]] | [[StartIndex]] 以上の |
マッチ終了位置 (含まない) までのコードユニット数。 |
The abstract operation GetMatchString takes arguments S (String) and match (
The abstract operation GetMatchIndexPair takes arguments S (String) and match (
The abstract operation MakeMatchIndicesIndexPairArray takes arguments S (String), indices (
RegExp インスタンスは
RegExp インスタンスは次のプロパティも持つ:
RegExp String Iterator は、特定の RegExp インスタンスオブジェクトに対して、特定の String インスタンスオブジェクト上の反復処理を表すオブジェクトである。RegExp String Iterator オブジェクトに対する名前付き
The abstract operation CreateRegExpStringIterator takes arguments R (オブジェクト), S (String), global (Boolean), and fullUnicode (Boolean) and returns オブジェクト. It performs the following steps when called:
%RegExpStringIteratorPrototype% オブジェクト:
このプロパティの属性は { [[Writable]]:
| Internal Slot | Type | Description |
|---|---|---|
| [[IteratingRegExp]] | an Object | 反復に使用される正規表現。 |
| [[IteratedString]] | a String | 反復対象となる String 値。 |
| [[Global]] | a Boolean | [[IteratingRegExp]] が global かどうかを示す。 |
| [[Unicode]] | a Boolean | [[IteratingRegExp]] が Unicode モードかどうかを示す。 |
| [[Done]] | a Boolean | 反復処理が完了しているかどうかを示す。 |