Именованные группы захвата могут быстро перейти на JavaScript. Предложение для него уже на этапе 3.
Группе захвата может быть присвоено имя с использованием синтаксиса (? ...) для любого имени идентификатора. Регулярное выражение для даты тогда может быть записано как / (? \ D {4}) - (? \ D {2}) - (? \ D {2}) / u. Каждое имя должно быть уникальным и следовать грамматике для имени идентификатора ECMAScript.
Именованные группы могут быть доступны из свойств свойства групп результата регулярного выражения. Также создаются нумерованные ссылки на группы, как и для неименованных групп. Например:
let re = /(?\d{4})-(?\d{2})-(?\d{2})/u;
let result = re.exec('2015-01-02');
// result.groups.year === '2015';
// result.groups.month === '01';
// result.groups.day === '02';
// result[0] === '2015-01-02';
// result[1] === '2015';
// result[2] === '01';
// result[3] === '02';
Если я использую UTF-8, как с open ('info.json', 'r', encoding = 'utf-8')
, только содержимое Каннада преобразуется в объекты Escape Unicode как \ u0c85 \ u0ca4 \ u0ccd \ u0ca4 \ u0cb2 \ u0cbf \ u0ca4 \ u0ccd \ u0ca4
blockquote>Нет, это не так.
Содержание каннада правильно интерпретируется как строка Python, содержащая буквы каннада. Проще говоря, в зависимости от того, как вы пытаетесь отобразить строку, отличную от ascii, некоторые символы могут отображаться со своими значениями Unicode, могут исчезать или могут быть заменены другими специальными символами замены.
И Python не делает различий между персонажем и его представлением:
>>> "\x41\x62" == "Ab" True
Таким образом, у вас могут возникнуть проблемы с отображением букв каннада, но не в правильном декодировании файла json.