Книга: Выразительный JavaScript

Международные символы

Международные символы

Из-за изначально простой реализации языка, и последующей фиксации такой реализации «в граните», регулярки JavaScript тупят с символами, не встречающимися в английском языке. К примеру, символ «буквы» с точки зрения регулярок JavaScript, может быть одним из 26 букв английского алфавита, и почему-то ещё подчёркиванием. Буквы типа ? или ?, однозначно являющиеся буквами, не совпадают с w (и совпадут с W, то есть с не-буквой).

По странному стечению обстоятельств, исторически s (пробел) совпадает со всеми символами, которые в Unicode считаются пробельными, включая такие штуки, как неразрывный пробел или монгольский разделитель гласных.

У некоторых реализаций регулярок в других языках есть особый синтаксис для поиска специальных категорий символов Unicode, типа «все прописные буквы», «все знаки препинания» или «управляющие символы». Есть планы по добавлению таких категорий и в JavaScript, но они, видимо, будут реализованы нескоро.

Оглавление книги


Генерация: 1.312. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз