#search #vim
#Поиск #vim
Вопрос:
У меня есть набор шестнадцатеричных значений, разделенных пробелом, и я хочу найти, /[0-9a-f]{2}
если значение не является 00
. Например, если буфер является
00 00 00 00 18 00 00 00
шаблон должен соответствовать 18
, но не пробелу или 00
.
Ответ №1:
Это можно сделать с помощью следующего регулярного выражения:
x{2}(00)@<!
Объяснение:
x
: шестнадцатеричная цифра: [0-9A-Fa-f]{2}
: соответствует двум предыдущим атомам(00)
: атом, содержащий00
@<!
ничего, не требует соответствия за
Для получения дополнительной информации см.:
Комментарии:
1. Или более короткий вариант:
vx{2}(00)@<!
2. Или гораздо более короткий вариант:
v(00)@!xx
{пункт 12}