?uem/p1-90`String
extends 節の値として使用できます。規定された String の動作を継承しようとするサブクラスsuper 呼出しを含まなければなりません。この関数は呼び出されたとき、次の手順を実行します。
String
この関数は、rest パラメーター codeUnits を構成する任意の数の引数で呼び出すことができます。
呼び出されたとき、次の手順を実行します。
この関数の
この関数は、rest パラメーター codePoints を構成する任意の数の引数で呼び出すことができます。
呼び出されたとき、次の手順を実行します。
この関数の
String.prototype の初期値は
このプロパティは属性 { [[Writable]]:
この関数は可変個の引数で呼び出すことができます。最初の引数は template であり、残りの引数が
呼び出されたとき、次の手順を実行します。
この関数は Tagged Template(
String prototype オブジェクトは:
明示的に別段の規定がない限り、以下で定義される String prototype オブジェクトのメソッドは汎用ではなく、それらに渡される
このメソッドは、このオブジェクトを String に変換した結果の String 値内のインデックス position にあるコード単位を含む、単一要素の String を返します。そのインデックスに要素がない場合、結果は空の String です。結果は String オブジェクトではなく String 値です。
pos がx.charAt(pos) の結果は x.substring(pos, pos + 1) の結果と同等です。
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドは、このオブジェクトを String に変換した結果の String 内のインデックス position にあるコード単位の数値である Number(216 未満の非負の
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドが呼び出されると、
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドの
このメソッドは意図的に汎用です。
String.prototype.constructor の初期値は
このメソッドは呼び出されたとき、次の手順を実行します。
将来の版でこのような引数値を許可する拡張を定義できるようにするため、第1引数が RegExp である場合に例外をスローすることが規定されています。
このメソッドは意図的に汎用です。
このメソッドは呼び出されたとき、次の手順を実行します。
searchString が、このオブジェクトを String に変換した結果の
将来の版でこのような引数値を許可する拡張を定義できるようにするため、第1引数が RegExp である場合に例外をスローすることが規定されています。
このメソッドは意図的に汎用です。
searchString が、このオブジェクトを String に変換した結果の
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドは呼び出されたとき、次の手順を実行します。
searchString が、このオブジェクトを String に変換した結果の
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
ECMA-402 Internationalization API を含む ECMAScript 実装は、ECMA-402 で規定されるとおりにこのメソッドを実装しなければなりません。それ以外の場合、このメソッドには次の仕様が使用されます。
このメソッドは、
比較を実行する前に、このメソッドは String を準備するために次の手順を実行します。
このメソッドの省略可能な第2および第3パラメーターの意味は ECMA-402 で定義されます。ECMA-402 のサポートを含まない実装は、それらのパラメーター位置に他の解釈を割り当ててはなりません。
追加情報をエンコードできるようにするため、実際の戻り値は
このメソッド自体は、後者が2引数の関数を要求するため、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")
正準等価性の定義および解説については Unicode 標準の第2章および第3章、ならびに Unicode Standard Annex #15, Unicode Normalization Forms と Unicode Technical Note #5, Canonical Equivalence in Applications を参照してください。また、Unicode Technical Standard #10, Unicode Collation Algorithm も参照してください。
このメソッドは、Unicode 標準の第3章3.7節で定義される Unicode 互換等価または互換分解を尊重しないことが推奨されます。
このメソッドは意図的に汎用です。
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドは、
呼び出されたとき、次の手順を実行します。
String.prototype.split と同様に、String.prototype.matchAll は通常、その入力を変更せずに動作するよう設計されています。このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは呼び出されたとき、次の手順を実行します。
引数 maxLength は、string の長さより小さくならないようにクランプされます。
引数 fillString の既定値は
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは、
このメソッドは意図的に汎用です。
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドは、このオブジェクトを String に変換した結果の
呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
このメソッドは、このオブジェクトを String に変換した結果の
呼び出されたとき、次の手順を実行します。
separator の値は空の String であってもかまいません。この場合、separator は入力 String の先頭または末尾の空の
separator が
このメソッドは意図的に汎用です。
このメソッドは呼び出されたとき、次の手順を実行します。
将来の版でこのような引数値を許可する拡張を定義できるようにするため、第1引数が RegExp である場合に例外をスローすることが規定されています。
このメソッドは意図的に汎用です。
このメソッドは、このオブジェクトを String に変換した結果の
いずれかの引数が
start が end より厳密に大きい場合、両者は入れ替えられます。
呼び出されたとき、次の手順を実行します。
このメソッドは意図的に汎用です。
ECMA-402 Internationalization API を含む ECMAScript 実装は、ECMA-402 で規定されるとおりにこのメソッドを実装しなければなりません。それ以外の場合、このメソッドには次の仕様が使用されます。
このメソッドは、
toLowerCase とまったく同じように動作します。その言語の規則が通常の Unicode 大文字小文字マッピングと
このメソッドの省略可能なパラメーターの意味は ECMA-402 で定義されます。ECMA-402 のサポートを含まない実装は、それらのパラメーター位置を他の目的に使用してはなりません。
このメソッドは意図的に汎用です。
ECMA-402 Internationalization API を含む ECMAScript 実装は、ECMA-402 で規定されるとおりにこのメソッドを実装しなければなりません。それ以外の場合、このメソッドには次の仕様が使用されます。
このメソッドは、
toUpperCase とまったく同じように動作します。その言語の規則が通常の Unicode 大文字小文字マッピングと
このメソッドの省略可能なパラメーターの意味は 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 値内の要素数です。
String オブジェクトが初期化されると、このプロパティは変化しません。属性 { [[Writable]]:
String Iterator は、特定の String インスタンスオブジェクトに対する特定の反復を表すオブジェクトです。String Iterator オブジェクトには名前付き
%StringIteratorPrototype% オブジェクトは:
このプロパティは属性 { [[Writable]]:
RegExp オブジェクトは正規表現と、それに関連付けられたフラグを含みます。
正規表現の形式と機能は、Perl 5 プログラミング言語の正規表現機能をモデルにしています。
RegExp
対応する u \u \u u
ここでの最初の2行は CharacterClass と同等です。
この節のいくつかの生成規則には、
この節は
PropertyValueAliases.txt に列挙された、PropertyValueAliases.txt に列挙された General_Category (gc) プロパティの Unicode プロパティ値またはプロパティ値別名でもなく、( 終端記号に一致する任意の ( パターン文字です。
この節は
呼び出されると、次の手順を実行する。
この節は
呼び出されると、次の手順を実行する。
この節は
次の生成規則ごとに定義される。
「
この節は
次の生成規則ごとに定義される。
この節は
次の生成規則ごとに定義される。
| ControlEscape | 数値 | コードポイント | 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進数字を続けることはできません。
正規表現パターンは、以下で説明する処理を使用して
u も v も含まない場合、BMP pattern です。それ以外の場合は Unicode pattern です。BMP pattern は、基本多言語面の範囲内にある Unicode コードポイントである16ビット値の列からなるものとして解釈された String に対してマッチします。Unicode pattern は、UTF-16 を使用してエンコードされた Unicode コードポイントからなるものとして解釈された String に対してマッチします。BMP pattern の動作を説明する文脈では、「文字」は単一の16ビット Unicode BMP コードポイントを意味します。Unicode pattern の動作を説明する文脈では、「文字」は UTF-16 エンコードされたコードポイント(
たとえば、ソーステキスト内で単一の非 BMP 文字 U+1D11E (MUSICAL SYMBOL G CLEF) として表された pattern を考えます。Unicode pattern として解釈した場合、これは単一のコードポイント U+1D11E からなる1要素(文字)の
Pattern は、非 BMP 文字が UTF-16 エンコードされている ECMAScript String 値として RegExp
実装は実際には UTF-16 への、または UTF-16 からのこのような変換を実行しなくてもかまいませんが、この仕様の意味論は、pattern matching の結果がそのような変換が実行されたかのようになることを要求します。
以下の説明では、次の内部データ構造を使用します。
RegExp Record は、コンパイル中、および場合によってはマッチング中に必要となる RegExp に関する情報を保存するために使用される
次のフィールドを持ちます。
| フィールド名 | 値 | 意味 |
|---|---|---|
| [[IgnoreCase]] | a Boolean | RegExp の flags に |
| [[Multiline]] | a Boolean | RegExp の flags に |
| [[DotAll]] | a Boolean | RegExp の flags に |
| [[Unicode]] | a Boolean | RegExp の flags に |
| [[UnicodeSets]] | a Boolean | RegExp の flags に |
| [[CapturingGroupsCount]] | a non-negative integer | RegExp の pattern 内の |
Pattern は
この節は
次の生成規則ごとに定義される。
| 正規表現演算子は2つの選択肢を分離します。パターンはまず左の | によってスキップされたパターン部分内のキャプチャ括弧は、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]
2つの選択肢が試される順序は 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"]
上記の選択点の順序は、2つの数(単項表記で表される)の最大公約数を計算する正規表現を書くために使用できます。次の例は 10 と 15 の gcd を計算します。
"aaaaaaaaaa,aaaaaaaaaaaaaaa".replace(/^(a+)\1*,\1+$/, "$1")
これは単項表記の gcd
RepeatMatcher の手順
/(z)((a+)?(b+)?(c))*/.exec("zaacbbbcac")
で確認でき、これは次の配列を返します。
["zaacbbbcac", "z", "ac", "a", undefined, "c"]
次ではありません。
["zaacbbbcac", "z", "ac", "a", "bbb", "c"]
これは、最外側の * の各反復が、量指定された
この節は
次の生成規則ごとに定義される。
pattern とともに y フラグが使用される場合でも、^ は常に input の先頭、または(regexpRecord.[[Multiline]] が
(?= ) という形式はゼロ幅の肯定先読みを指定します。成功するためには、(?= 形式の内部へバックトラッキングすることはありません(この特殊な動作は Perl から継承されています)。これは、
たとえば、
/(?=(a+))/.exec("baaabac")
は最初の b の直後の空の String に一致するため、次の配列を返します。
["", "aaa"]
先読み内へのバックトラッキングがないことを示すために、次を考えます。
/(?=(a+))a*b\1/.exec("baaabac")
この式は
["aba", "a"]
を返し、次ではありません。
["aaaba", "a"]
(?! ) という形式はゼロ幅の否定先読みを指定します。成功するためには、
/(.*?)a(?!(a+)b\2c)\2(.*)/.exec("baaabaac")
は、直後に正の数 n 個の a、b、さらに n 個の a(最初の \2 で指定)、および c が続かない a を探します。2番目の \2 は否定先読みの外側にあるため、
["baaabaac", "ba", undefined, "abaac"]
この節は
次の生成規則ごとに定義される。
( ) 形式の括弧は、\ にゼロでない10進数が続くもの)、replace String 内での参照、または正規表現マッチング (?: ) 形式を使用します。
\ の後にゼロでない10進数 n が続く形式のエスケープシーケンスは、nth のキャプチャ括弧集合(
CaseFolding.txt ファイルが char に対する simple または common case folding マッピングを提供する場合、そのマッピングを char に適用した結果を返す。ß (U+00DF LATIN SMALL LETTER SHARP S) を ss または SS にはマッピングしません。ただし、基本ラテンブロック外のコードポイントをその内部のコードポイントへマッピングする場合があります。たとえば、ſ (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 されます。これらのコードポイントを含む 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 には一致しません。また、基本ラテンブロック外のコードポイントがその内部のコードポイントへマッピングされることはないため、/[a-z]/i によって一致しません。
この節は
次の生成規則ごとに定義される。
pattern が大文字小文字を無視する場合でも、範囲の両端の大文字小文字は、どの文字がその範囲に属するかを決定するうえで重要です。したがって、たとえば pattern /[E-F]/i は E、F、e、f の文字だけに一致しますが、pattern /[E-f]/i は Unicode 基本ラテンブロック内のすべての大文字および小文字と、記号 [, \, ], ^, _, および ` に一致します。
- 文字はリテラルとして扱うことも、範囲を表すこともできます。
- 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) プロパティの Unicode プロパティ値またはプロパティ値別名である場合、結果はしばしば2つ以上の範囲から構成されます。UnicodeSets が
\b、\B、\w、および \W の目的において「word characters」とみなされる文字を含む
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 に列挙された Unicode プロパティ p のプロパティ値またはプロパティ値別名である。実装は、PropertyValueAliases.txt に列挙された Unicode プロパティ値およびプロパティ値別名をサポートしなければなりません。相互運用性を保証するため、実装は他のプロパティ値またはプロパティ値別名をサポートしてはなりません。
たとえば、Xpeo および Old_Persian は有効な Script_Extensions 値ですが、xpeo および Old Persian は有効ではありません。
このアルゴリズムは UAX44 に列挙された symbolic value のマッチング規則とは異なります。大文字小文字、Is 接頭辞はサポートされません。
この節は
呼び出されると、次の手順を実行する。
RegExp
extends 節の値として使用できます。規定された RegExp の動作を継承しようとするサブクラスsuper 呼出しを含まなければなりません。この関数は呼び出されたとき、次の手順を実行します。
pattern が
RegExp
この関数は、正規表現
呼び出されたとき、次の手順を実行します。
\0 文字エスケープまたは \1 のような \c の後の文脈について同じ役割を果たす。名前は似ていますが、RegExp.escape は同様の処理を実行しません。前者は pattern を文字列として表現するためにエスケープし、この関数は文字列を pattern 内で表現するためにエスケープします。
RegExp.prototype の初期値は
このプロパティは属性 { [[Writable]]:
RegExp[%Symbol.species%] は、set アクセサー関数が
この関数の
RegExp prototype メソッドは通常、
RegExp prototype オブジェクトは:
RegExp prototype オブジェクトは独自の
RegExp.prototype.constructor の初期値は
このメソッドは、string 内で正規表現 pattern の出現を検索し、マッチ結果を含む 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 は同様の処理を実行しません。前者は文字列を pattern 内で表現するためにエスケープし、この関数は pattern を文字列として表現するためにエスケープします。
このメソッドは、string を String に変換した結果の
/a*?/[Symbol.split]("ab") は配列 ["a", "b"] に評価される一方、/a*/[Symbol.split]("ab") は配列 ["","b"] に評価されます。)
string が空の String である(または空の String に変換される)場合、結果は正規表現が空の String に一致できるかどうかに依存します。一致できる場合、結果配列は要素を含みません。そうでない場合、結果配列は空の 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 オブジェクトに評価される
RegExp.prototype.unicode は、set アクセサー関数が
RegExp.prototype.unicodeSets は、set アクセサー関数が
呼出し可能な
Match Record は、正規表現の match または capture の開始および終了インデックスをカプセル化するために使用される
Match Record は
| フィールド名 | 値 | 意味 |
|---|---|---|
| [[StartIndex]] | a non-negative integer | match が開始する(含む)文字列先頭からのコード単位数。 |
| [[EndIndex]] | an integer ≥ [[StartIndex]] | match が終了する(含まない)文字列先頭からのコード単位数。 |
RegExp インスタンスは、
ECMAScript 2015 より前では、RegExp インスタンスは独自RegExp.prototype の
RegExp インスタンスはさらに次のプロパティを持ちます。
RegExp String Iterator は、特定の RegExp インスタンスオブジェクトに対してマッチングしながら、特定の String インスタンスオブジェクトに対する特定の反復を表すオブジェクトです。RegExp String Iterator オブジェクトには名前付き
%RegExpStringIteratorPrototype% オブジェクトは:
このプロパティは属性 { [[Writable]]:
| 内部スロット | 型 | 説明 |
|---|---|---|
| [[IteratingRegExp]] | an Object | 反復に使用される正規表現。 |
| [[IteratedString]] | a String | 反復対象となる String 値。 |
| [[Global]] | a Boolean | [[IteratingRegExp]] が global であるかどうかを示します。 |
| [[Unicode]] | a Boolean | [[IteratingRegExp]] が Unicode モードであるかどうかを示します。 |
| [[Done]] | a Boolean | 反復が完了しているかどうかを示します。 |