LINUX.ORG.RU

Регулярка по замене hex

 , ,


0

1

Есть hex последовательность символов E2808c(utf-8 ZERO WIDTH NON-JOINER) в строке, их надо удалять. Как написать регулярку по их замене?
Пробую

text.replace(/\xe2\x80\x8c/gm, "")
не заменяет
text.match(/\xe2\x80\x8c/gm)
null

Ничего не заменяет

★★★

Ответ на: комментарий от Grzegorz

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects...

\xhh	Сопоставляется с символом с кодом hh (две шестнадцатеричные цифры).
\uhhhh	Сопоставляется с символом со значением Юникода hhhh (четыре шестнадцатеричные цифры).

Я этот мануал раз 10 перечитывал, но где там про 256 сказано?

gobot ★★★ ()
Ответ на: комментарий от gobot

Я этот мануал раз 10 перечитывал, но где там про 256 сказано?

В твоей же цитате.

\xhh Сопоставляется с символом с кодом hh (две шестнадцатеричные цифры).

Т.е. максимальное значение — FF, что соответствует 255 в десятичной системе.

\uhhhh Сопоставляется с символом со значением Юникода hhhh (четыре шестнадцатеричные цифры).

Т.е. максимальное значение — FFFF, что соответствует 65535 в десятичной системе.

Grzegorz ()
Ответ на: комментарий от Grzegorz

\xhh Сопоставляется с символом с кодом hh (две шестнадцатеричные цифры).

Т.е. максимальное значение — FF, что соответствует 255 в десятичной системе.

Не пойму, почему из первого следует второе. Там написано что hh это 2 шестнадцатеричные цифры, например e2, но где там сказано про FF?

gobot ★★★ ()
Ответ на: комментарий от gobot

Не пойму, почему из первого следует второе. Там написано что hh это 2 шестнадцатеричные цифры, например e2, но где там сказано про FF?

Попробуй двумя шестнадцатеричными цифрами записать число больше FF.

Grzegorz ()