/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
Комментариев нет:
Отправить комментарий