ECMAScript | Семантики Шаблона (Pattern Semantics) | Регулярные выражения (Regular Expression)

Примечание 1

В этот раздел внесены поправки в B.1.4.4.

 

Шаблон регулярного выражения преобразуется в абстрактное замыкание с помощью процесса, описанного ниже. При реализации рекомендуется использовать более эффективные алгоритмы, чем перечисленные ниже, если результаты остаются одинаковыми. Абстрактное замыкание используется как значение внутреннего слота [[RegExpMatcher]] объекта RegExp.

Шаблон (Pattern) — это либо шаблон BMP (Basic Multilingual Plane), либо шаблон Unicode, в зависимости от того, содержат ли связанные с ним флаги букву u.

Шаблон BMP соответствует Строке, интерпретируемой как состоящая из последовательности 16-битных значений, которые являются кодовыми точками Unicode в диапазоне «базовой многоязычной плоскости«.

Шаблон Unicode соответствует Строке, интерпретируемой как состоящая из кодовых точек Unicode, закодированных с использованием UTF-16.

В контексте описания поведения шаблона BMP «символ»(character) означает одну 16-битную кодовую точку Unicode BMP.

В контексте описания поведения шаблона Unicode «символ»(character) означает кодовую точку в кодировке UTF-16 (6.1.4).

В любом контексте «символьное значение» (character value) означает числовое значение соответствующей некодированной кодовой точки.

 

Синтаксис и семантика шаблона Pattern определяется так, как если бы исходный код для Pattern был Списком значений SourceCharacter, где каждый SourceCharacter соответствует кодовой точке Unicode. Если шаблон BMP содержит не-BMP SourceCharacter, весь шаблон кодируется с использованием UTF-16, а отдельные единицы кода этой кодировки используются в качестве элементов Списка.

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

Предыдущий раздел — Шаблоны

Стандарт ECMAScript — Раздел «Pattern Semantics» — https://tc39.es/ecma262/#sec-pattern-semantics

ECMAScript | Условные обозначения

Поделись записью