Книга: Выразительный JavaScript
Международные символы
Международные символы
Из-за изначально простой реализации языка, и последующей фиксации такой реализации «в граните», регулярки JavaScript тупят с символами, не встречающимися в английском языке. К примеру, символ «буквы» с точки зрения регулярок JavaScript, может быть одним из 26 букв английского алфавита, и почему-то ещё подчёркиванием. Буквы типа ? или ?, однозначно являющиеся буквами, не совпадают с w
(и совпадут с W
, то есть с не-буквой).
По странному стечению обстоятельств, исторически s (пробел) совпадает со всеми символами, которые в Unicode считаются пробельными, включая такие штуки, как неразрывный пробел или монгольский разделитель гласных.
У некоторых реализаций регулярок в других языках есть особый синтаксис для поиска специальных категорий символов Unicode, типа «все прописные буквы», «все знаки препинания» или «управляющие символы». Есть планы по добавлению таких категорий и в JavaScript, но они, видимо, будут реализованы нескоро.
- Создаём регулярное выражение
- Проверяем на совпадения
- Ищем набор символов
- Повторяем части шаблона
- Группировка подвыражений
- Совпадения и группы
- Тип даты
- Границы слова и строки
- Шаблоны с выбором
- Механизм поиска
- Откаты
- Метод replace
- Жадность
- Динамическое создание объектов RegExp
- Метод search
- Свойство lastIndex
- Циклы по вхождениям
- Разбор INI файлы
- Международные символы
- Итог
- Упражнения
- 8.5. Международные специальные антиуклонительные нормы
- 4.3. Запоминаем специальные символы
- Символы
- Глава 6. Символы и диапазоны
- Пробельные символы
- 1. Металингвистические символы
- Специальные символы
- Нужно набрать специальные символы, а на клавиатуре нет таких клавиш
- Что делать, если вместо русских букв в программах – непонятные символы?
- 19.5.1 Специальные символы
- 13.4.1. Широкие символы
- 16. Международные аванпосты «Если вы стоите посреди дороги, вас могут задавить с любой стороны»