JavaScript | Замена подстановки текстовых символов

JavaScript | Замена подстановки текстовых символов

Единицы кода 0x0024, 0x0024

Символы юникода — $$

Текст замены — $

 

Единицы кода 0x0024, 0x0026

Символы юникода — $&

Текст замены — matched

 

Единицы кода 0x0024, 0x0060

Символы юникода — $`

Текст замены — Замена — это подстрока строки str от 0 до позиции position.

 

Единицы кода 0x0024, 0x0027

Символы юникода — $'

Текст замены — Если tailPosstringLength, заменой будет пустая строка. В противном случае заменой будет подстрока строки str из tailPos.

 

Единицы кода 0x0024, N — Где 0x0031N0x0039

Символы юникода — $n где n это одно из 1 2 3 4 5 6 7 8 9, а за $n не следует десятичная цифра

Текст замены — n-ый элемент из captures, где n — одна цифра в диапазоне от 1 до 9. Если nm и n-ый элемент из captures не определен (является undefined), используйте вместо этого пустую строку. Если n > m, замена не производится.

 

Единицы кода 0x0024, N, N — Где 0x0030N0x0039

Символы юникода — $nn где n одно из 0 1 2 3 4 5 6 7 8 9

Текст замены — nn-ый элемент из captures, где nn — двузначное десятичное число в диапазоне от 01 до 99. Если nnm и nn-ый элемент из captures не определен (является undefined), используйте вместо этого пустую строку. Если nn равно 00 или nn > m, замена не производится.

 

Единицы кода 0x0024, 0x003C

Символы юникода — $<

Текст замены

1. Если namedCaptures не определен (является undefined), заменяющим текстом является строка "$<".
2. Иначе,
   a. Утверждение: Type(namedCaptures) - это Объект.
   b. Сканируйте пока следующий > U+003E (знак БОЛЬШЕ ЧЕМ).
   c. Если ничего не найдено, заменяющим текстом является строка "$<".
   d. Иначе,
      i. Пусть groupName будет вложенной подстрокой.
      ii. Пусть capture будет ? Get(namedCaptures, groupName).
      iii. Если capture не определен (является undefined), замените текст через > с пустой Строкой.
      iv. В противном случае замените текст через > на ? ToString(capture).

Единицы кода 0x0024

Символы юникода — $ в любом контексте, который не соответствует ни одному из вышеперечисленных.

Текст замены — $

 

В виде таблицы

Единицы кода (Code units) Символы юникода (Unicode Characters) Текст замены (Replacement text)
0x0024, 0x0024 $$ $
0x0024, 0x0026 $& matched
0x0024, 0x0060 $` Замена — это подстрока строки str от 0 до позиции position.
0x0024, 0x0027 $’ Если tailPosstringLength, заменой будет пустая строка. В противном случае заменой будет подстрока строки str из tailPos.
0x0024, N
Where
0x0031 ≤ N ≤ 0x0039
$n где
n это одно из 1 2 3 4 5 6 7 8 9 и $n не следует десятичная цифра
n-ый элемент из captures, где n — одна цифра в диапазоне от 1 до 9. Если nm и n-ый элемент из captures не определен (является undefined), используйте вместо этого пустую строку. Если n > m, замена не производится.
0x0024, N, N
Where
0x0030 ≤ N ≤ 0x0039
$nn где
n одно из 0 1 2 3 4 5 6 7 8 9
nn-ый элемент из captures, где nn — двузначное десятичное число в диапазоне от 01 до 99. Если nnm и nn-ый элемент из captures не определен (является undefined), используйте вместо этого пустую строку. Если nn равно 00 или nn > m, замена не производится.
0x0024, 0x003C $< 1. Если namedCaptures не определен (является undefined), заменяющим текстом является строка «$<».
2. Иначе,a. Утверждение: Type(namedCaptures) — это Объект.
b. Сканируйте пока следующий > U+003E (БОЛЬШЕ, ЧЕМ ЗНАК).
c. Если ничего не найдено, заменяющим текстом является строка «$<».
d. Иначе,
i. Пусть groupName будет вложенной подстрокой.
ii. Пусть capture будет ? Get(namedCaptures, groupName).
iii. Если capture не определен (является undefined), замените текст через > с пустой Строкой.
iv. В противном случае замените текст через > на ? ToString(capture).
0x0024 $ в любом контексте, который не соответствует ни одному из вышеперечисленных. $

 

Информационные ссылки

Стандарт ECMAScripthttps://tc39.es/ecma262/multipage/

Стандарт ECMAScript — Раздел «22.1.3.18 String.prototype.replace ( searchValue, replaceValue )» — https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.replace

JavaScript | Строки (String)