Spec-Zone.ru › Dart 2

dart:core

свойство isUnicode

  1. @Since("2.4")
bool isUnicode

Использует ли это регулярное выражение режим Unicode.

В режиме Unicode Dart рассматривает пары суррогатов UTF-16 в исходной строке как одну кодовую точку и не сопоставляет каждый кодовый элемент пары отдельно. В противном случае Dart рассматривает целевую строку как последовательность отдельных кодовых элементов и не считает суррогаты специальными.

В режиме Unicode Dart ограничивает синтаксис шаблона RegExp, например запрещает некоторые неэкранированные варианты использования зарезервированных символов регулярных выражений, а также ненужные \-escape-последовательности («identity escapes»), использование которых исторически допускалось в режиме без Unicode. Кроме того, Dart поддерживает некоторые возможности шаблонов, например экранирование свойств Unicode, только в этом режиме.

var regExp = RegExp(r'^\p{L}$', unicode: true);
print(regExp.hasMatch('a')); // true
print(regExp.hasMatch('b')); // true
print(regExp.hasMatch('?')); // false
print(regExp.hasMatch(r'p{L}')); // false

// U+1F600 (😀), one code point, two code units.
var smiley = '\ud83d\ude00';

regExp = RegExp(r'^.$', unicode: true); // Matches one code point.
print(regExp.hasMatch(smiley)); // true
regExp = RegExp(r'^..$', unicode: true); // Matches two code points.
print(regExp.hasMatch(smiley)); // false

regExp = RegExp(r'^\p{L}$', unicode: false);
print(regExp.hasMatch('a')); // false
print(regExp.hasMatch('b')); // false
print(regExp.hasMatch('?')); // false
print(regExp.hasMatch(r'p{L}')); // true

regExp = RegExp(r'^.$', unicode: false);  // Matches one code unit.
print(regExp.hasMatch(smiley)); // false
regExp = RegExp(r'^..$', unicode: false);  // Matches two code units.
print(regExp.hasMatch(smiley)); // true

Реализация

@Since("2.4")
bool get isUnicode;

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/RegExp/isUnicode.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API