Vim查找模式,除非它匹配

3

我有一组用空格分隔的十六进制值,想要查找/[0-9a-f]\{2\},除非该值为00。例如,如果缓冲区是

00 00 00 00 18 00 00 00

这个模式应该匹配18,但不包括空格或00

1个回答

4
这可以通过以下正则表达式来实现:
\x\{2}\(00\)\@<!

说明:
  • \x: 十六进制数字: [0-9A-Fa-f]
  • \{2}: 匹配前一个原子两次
  • \(00\): 一个包含00的原子
  • \@<! 无需匹配后面的内容

更多信息请参见:


2
或者更短的变体:\v\x{2}(00)@<! - Eugene Yarmash
1
或者更短的变体:\v(00)@!\x\x {par 12} - johnsyweb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接