Свойство isUnicode
@Since("2.4")
Указывает, находится ли это регулярное выражение в режиме Unicode.
В режиме Unicode пары суррогатов UTF-16 в исходной строке будут обрабатываться как один код символа и не будут соответствовать по отдельности. В противном случае целевая строка будет обрабатываться исключительно как последовательность отдельных кодовых единиц, и суррогаты не будут обрабатываться особо.
В режиме Unicode синтаксис шаблона RegExp ограничен, но некоторые возможности шаблона, такие как escape-последовательности свойств 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
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 Реализация
@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.18.5/dart-core/RegExp/isUnicode.html