Страницы

Поиск по вопросам

вторник, 5 марта 2019 г.

Регулярные выражения. Флаг /u. Unicode

/hell\u{6F}/u.test('hello'); // -> true /hell\u{6F}/.test('hello'); // -> false
Объясните специфику работы флага /u в регулярных выражениях.


Ответ

Все просто как топор:
С этим флагом регулярка понимает выражения типа \u{6f} внутри регулярки, как юникод символ, без него - понимает как строку из последовательных символов u,{,6,f,}
Главная специфика тут одна: это фича появившаяся в ecmascript-6 стандарте, то есть без предварительной компиляции в ecmascript-5 код ее поймут не все браузеры.
Есть еще один небольшой нюанс: Пусть x - это не эскейп символ, тогда это синтаксически валидная регулярка:
var c = /\x/
А это - нет:
var c = /\x/u

Комментариев нет:

Отправить комментарий