регулярное выражение в кодировке Unicode - PullRequest
35 голосов
/ 10 июня 2010

Я идиот.

Кто-то вырезал и вставил текст из Microsoft Word в мои прекрасные HTML-файлы.

Теперь у меня есть эти символы Юникода вместо обычных символов кавычек, (т.е. в тексте кавычки отображаются как <92>)

Я хочу заменить регулярное выражение, но у меня возникают проблемы при их выборе.

:%s/\u92/'/g
:%s/\u5C/'/g
:%s/\x92/'/g
:%s/\x5C/'/g

... все не удалось.Мой гугл-фу подвел меня.

1 Ответ

65 голосов
/ 10 июня 2010

Начиная с :help regexp (слегка отредактировано), вам нужно использовать определенный синтаксис для выбора символов Unicode с регулярным выражением в Vim:

\%u match specified multibyte character (eg \%u20ac)

То есть для поиска символа Unicode с шестнадцатеричнымкод 20AC, введите его в свой шаблон поиска:

\%u20ac

Полная таблица шаблонов поиска символов включает некоторые дополнительные параметры:

\%d match specified decimal character (eg \%d123)
\%x match specified hex character (eg \%x2a)
\%o match specified octal character (eg \%o040)
\%u match specified multibyte character (eg \%u20ac)
\%U match specified large multibyte character (eg \%U12345678)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...