Свойство isUnicode
Свойство isUnicode класса RegExp возвращает
true, если при создании регулярного выражения был
установлен флаг unicode, и false в противном
случае. Этот флаг позволяет интерпретировать шаблон как
последовательность кодовых точек Unicode, а не как отдельные
16-битные единицы кода. Это особенно важно при работе с
символами за пределами базовой многоязычной плоскости (BMP).
Синтаксис
regExp.isUnicode
Пример
Давайте создадим регулярное выражение с флагом Unicode и проверим значение свойства:
void main()
{
RegExp regExp = RegExp('abcde', unicode: true);
print(regExp.isUnicode);
}
Результат выполнения кода:
true
Пример
Давайте создадим регулярное выражение без флага Unicode и проверим значение свойства:
void main()
{
RegExp regExp = RegExp('abcde');
print(regExp.isUnicode);
}
Результат выполнения кода:
false
Пример
Давайте проверим, как флаг Unicode влияет на поиск символов, выходящих за пределы BMP:
void main()
{
RegExp withoutUnicode = RegExp('😀');
RegExp withUnicode = RegExp('😀', unicode: true);
print(withoutUnicode.isUnicode);
print(withUnicode.isUnicode);
print(withUnicode.hasMatch('😀'));
}
Результат выполнения кода:
false
true
true
Смотрите также
-
класс
RegExp,
который создает регулярное выражение -
свойство
pattern,
которое возвращает исходный шаблон -
свойство
isMultiLine,
которое проверяет флаг многострочности -
свойство
isCaseSensitive,
которое проверяет флаг учета регистра