如何在 Vim(或其他地方)中使用正则表达式搜索十六进制转储?

2023-12-05

我正在寻找一种方法来搜索二进制文件的十六进制转储中一系列十六进制数字的文本表示形式,如下所示:

0x000001A0: 36 5B 09 76 99 31 55 09 78 99 34 51 49 BF E0 03
0x000001B0: 28 0B 0A 03 0B E0 07 28 0B 0A 03 0B 49 58 09 35

问题是模式可能会滚动到下一行。例如,在上面两行中,我无法立即搜索03 28 0B因为它跨越两条线。

最近的帖子告诉我,正则表达式是最好的选择,但我不熟悉它,也不知道该使用什么:Notepad++、Vim、Word 或其他任何东西。

Edit 1:显示上述内容的文本文件是从二进制文件派生的,我可以使用 Notepad++。

Edit 2:举个例子,假设我试图尽可能接近 11:45:00(军用时间)。03 28 0B 0A 03 0B分散在上面的两行中,可以读作“2011 年 3 月 10 日 3 秒 40 分钟 11 小时”。我正在寻找一种方法来浏览此文件,以了解距离 11:45:00 有多近。


让我提出以下采用多个十六进制数字的映射 根据用户输入或视觉选择,创建适当的模式,以及 开始搜索它。

nnoremap <silent> <expr> <leader>x/ SearchHexBytes('/', 0)
nnoremap <silent> <expr> <leader>x? SearchHexBytes('?', 0)
vnoremap <silent> <leader>x/ :call SearchHexBytes('/', 1)<cr>/<cr>
vnoremap <silent> <leader>x? :call SearchHexBytes('?', 1)<cr>?<cr>

function! SearchHexBytes(dir, vis)
    if a:vis
        let [qr, qt] = [getreg('"'), getregtype('"')]
        norm! gvy
        let s = @"
        call setreg('"', qr, qt)
    else
        call inputsave()
        let s = input(a:dir)
        call inputrestore()
    endif
    if s =~ "[^ \t0-9A-Fa-f]"
        echohl Error | echomsg 'Invalid hex digits' | echohl None
        return
    endif
    let @/ = join(split(s, '\s\+'), '\%(\s*\|\n0x\x\+:\s*\)')
    return a:dir . "\r"
endfunction
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Vim(或其他地方)中使用正则表达式搜索十六进制转储? 的相关文章

  • 除法和乘法 2 的幂

    我在一篇论文中读到 数字除以 2 的幂并乘以 2 的幂是一个微不足道的过程 我在互联网上搜索了很多解释 但没有得到它 任何人都可以用简单的语言解释一下这实际上意味着什么 从位操作的角度来看 这是微不足道的 乘以2相当于左移1位 除法相当于右
  • 从 html 属性中删除单引号和双引号,并且除 href 和 src 之外的所有属性上都没有空格

    我正在尝试从 html 属性中删除单引号和双引号 这些属性是没有空格的单个单词 我写了这个有效的正则表达式 type title data toggle colspan scope role media name rel id class
  • 用于开始和/或包含搜索的最快字符串集合结构/算法是什么

    我有以下情况 我有一个大的字符串集合 比如说 250 000 平均长度可能是 30 我要做的就是在这些搜索中进行许多搜索 大多数搜索都是 StartsWith 和 Contains 类型的 该集合在运行时是静态的 这意味着选择的集合的初始读
  • 为什么我的 javascript regex.test() 给出交替结果[重复]

    这个问题在这里已经有答案了 可能的重复 Javascript 正则表达式返回 true 然后 false 然后 true 等等 https stackoverflow com questions 2630418 javascript reg
  • Python 非贪婪正则表达式

    我如何制作一个像这样的Python正则表达式 这样 给定 a b c d e 蟒蛇匹配 b 代替 b c d 我知道我可以使用 代替 但我正在寻找一种更通用的解决方案 使我的正则表达式更加干净 有没有办法告诉python 嘿 尽快匹配这个
  • 与区域指示符字符类匹配的 python 正则表达式

    我在 Mac 上使用 python 2 7 10 表情符号中的标志由一对表示区域指示符号 https en wikipedia org wiki Regional Indicator Symbol 我想编写一个 python 正则表达式来在
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • 尝试安装已安装 vimballPlugin 的 vimball

    我想安装这个plugin http www vim org scripts download script php src id 16854 所以首先我提取 zip 的内容 然后执行以下操作 vim camelcasemotion vba
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • Golang 正则表达式在字符串之间替换

    我有一些可能采用以下形式的字符串 MYSTRING MYSTRING n MYSTRING n MYSTRING randomstringwithvariablelength n 我希望能够将其正则表达式为MYSTRING foo 基本上替
  • 创建正则表达式匹配数组

    在Java中 我试图将所有正则表达式匹配返回到一个数组 但似乎您只能检查模式是否匹配某些内容 布尔值 如何使用正则表达式匹配来形成与给定字符串中的正则表达式匹配的所有字符串的数组 4城堡的回答 https stackoverflow com
  • 为什么这些非捕获正则表达式组不能正常工作?

    所以我花了很多时间在另一个堆栈溢出问题上 同样的问题又出现在上一个问题上 非捕获组并没有像我期望的那样工作 至少我是这么认为的 这是一个愚蠢的例子 类似于其他人的 CSS 测试字符串 这是我的正则表达式 rgb S 这是测试字符串 1px
  • MySQL正则表达式:如何将字符串中的数字与\d匹配?

    我有一个专栏release date它以字符串格式存储日期 不是 DATETIME 格式 因为它们有时可以是任何其他字符串文字 我想根据给定的月份和年份查找任意日期的所有记录 尝试遵循但对我不起作用 gt Post find all con
  • 为什么 re.findall 在查找字符串中的三元组项时不具体。 Python

    所以我有四行代码 seq ATGGAAGTTGGATGAAAGTGGAGGTAAAGAGAAGACGTTTGA OR 0 re findall r ATG 9 TAA TAG TGA seq 首先让我解释一下我正在尝试做什么 如果这令人困惑
  • 如何用正则表达式替换多个匹配/组?

    通常我们会编写以下内容来替换一场比赛 namesRegex re compile r is life re I replaced namesRegex sub r butter There is no life in the void pr
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 使用基于 DFA(线性时间)正则表达式捕获组:可能吗?

    是否可以使用基于 DFA 的正则表达式实现捕获组 同时保持相对于输入长度的线性时间复杂度 直觉上我认为不是 因为子集构造过程不知道它可能落在哪个捕获组内 但这是我第一次意识到这可能是一个潜在的问题 所以我不知道 是否可以使用基于 DFA 的
  • WordPress 自定义帖子类型未显示在搜索结果中

    我在 WordPress 中遇到自定义帖子类型 测验 和搜索的问题 自定义帖子类型未显示在我的搜索结果页面中 我的搜索结果中仅显示默认的帖子内容 以下是我使用的代码 函数 php函数create posttype register post
  • JS用正则表达式替换数字

    我有元素的标识符 如下所示 form book 1 2 3 我想要的是用其他值替换该标识符中的第二个数字 我将函数 match 与以下正则表达式一起使用 var regexp d d d 但它返回我包含的数组 1 2 3 2 因此 当我尝试
  • 使用FFMpeg确定视频类型,然后进行转换?

    我正在尝试以编程方式确定文件的真实类型 看来我必须使用 FFMPeg 来实现这一点 我想确定上传的文件实际上是否是 MP4 或 FLV 对于 Flash 视频 或 WebM 对于 HTML5 我知道 FFMPeg 中的 i 运算符 但我不知

随机推荐

  • 在手机和平​​板电脑上使用 Android 应用程序时的兼容性问题

    在手机和平 板电脑上使用 Android 应用程序时的兼容性问题 和 图像使用某些视图的背景 然后图像被拉伸以适合屏幕尺寸 而且一些时间分辨率也会丢失 并且在更大的屏幕上无法正常工作 当我们的应用程序运行时 通常会出现兼容性问题 下载到不同
  • 如何通知我的应用程序从 SDCard (Android) 中删除了一个文件?

    我正在播放列表中保存一些歌曲 在我的应用程序数据库中 当播放列表中已存在的 SDCard 中删除某首特定歌曲时 如何反映数据库中的更改 考虑使用文件观察器 您可以监视单个文件或目录 因此 您需要做的是确定哪些目录中有歌曲并监视每个目录 否则
  • 如何将目录应用到 FOSUserBundle 的重写布局?

    as here据说我已经覆盖了layout html twig模板 FOSUserBundle 这是新模板 app Resources FOSUserBundle views extends AibFrontendBundle layout
  • 像 Subversion 中那样的 Git 关键字替换?

    我曾经在 Subversion SVN 下工作 并且立即使用了称为关键字替换的好功能 只需放入源文件 例如 Author ivanovpv Rev 42 LastChangedDate 2012 05 25 21 47 42 0200 Fr
  • 如何将工作流中的转换限制为仅在 TFS 中创建工作项的用户?

    这是更大限制的一部分 但让我困惑的部分是只能允许创建工作项的用户 System CreatedBy 字段的值 将工作项转换为 关闭 状态 我知道如何使用 For 和 Not 子句来限制转换 但这些仅限于组 我想将其限制为该工作项的特定创建者
  • 无论指定的 cellTower 是什么,Google Geolocation API 始终返回相同的位置

    我正在使用 Google Geolocation API 根据可见的手机信号塔来估算位置 但是 我总是得到与结果相同的位置 使用以下主体 considerIp false radioType lte cellTowers signalStr
  • Java:如何将字符串分割为多个字符?

    我试图在网上搜索来解决这个问题 但我没有找到任何东西 我编写了以下抽象代码来解释我的要求 String text how are you String textArray text splitByNumber 4 this method i
  • 如何重写子类中的方法?

    我编写了一个库存程序 其中包含一个数组和一个方法来计算输入的所有库存项目的总成本 我现在必须包含一个子类来覆盖原来的子类以包含 一个独特的功能 我创建了一个名为 ItemDetails 的新文件来设置原始 Item 的子类 我需要在这个子类
  • OAuth Twitter 和黑莓

    我在黑莓上有一个 j2me 项目 需要连接到 twitter 我已经完成了大部分困难的工作 我有一个 api 可以轻松引导我访问访问令牌 现在我似乎无法让身份验证与 REST 中的状态更新一起使用 我知道我的令牌是有效的 因为如果我运行验证
  • 如何更改表格视图单元格的高度

    我正在尝试读取一些 RSS 数据 我有不同大小的数据 数据存在于 Tabke 视图数据对象中 我使用标签添加数据并调整数据大小 没有成功 请帮忙 UITableViewCell tableView UITableView tableView
  • 可以制作灰度BMP文件吗?

    我正在尝试制作一个将 8 位灰度图像输出到 bmp 文件的程序 我发现8位BMP文件是有索引的 是否可以省略颜色表 只在颜色表中放入值而不是索引 或者BMP格式不允许这样 您仍然需要 LUT 但创建它非常简单 它只有 256 个条目 其中红
  • 这个递归正则表达式究竟是如何工作的?

    这是后续这个问题 看看这个模式 o 1 o It matches any sequence of o with a length of 2n with n 1 It works see regex101 com word boundarie
  • Python在内存中解压gzip数据,无需文件

    我已经从 HTTP 回复中压缩了数据 我有以下代码 def gzipDecode self content import StringIO import gzip outFilePath test compressedFile String
  • 如何隐藏或折叠 VSC 中的所有 javascript console.log 行

    大量的日志记录对我来说非常有帮助 然而 有时我想通过隐藏 折叠或降低字体的不透明度来暂时减少在 VSC 中编辑的代码的混乱程度 console log console warn and console errorjavascript Vue
  • PHP 重定向强制刷新 (CTRL+F5)

    我有一个带有可编辑表格的页面 我需要用户能够编辑它 然后提交他们的更改 一切正常 直到我将它们重定向到包含新内容 与其更改相关 的同一页面 然而 他们看到的是旧内容 如果我在浏览器上按 ctrl f5 它们的内容就会更新 我想知道是否有办法
  • C# 语法:----- IEnumerable people = new List();

    我理解前两句话 然而 对于第三个说法 我无法弄清楚这是什么类型的人 IEnumerable 人 还是列表 人 我认为幕后有一个转换 有人能解释一下陈述3中使用了什么技术吗 IEnumerable Person people new IEnu
  • 谷歌玩游戏成就重置(每天)

    上周我们软启动了我们的游戏 我们开始收到人们的错误 他们 所有人 似乎都存在的错误之一是 他们的成就至少每天都会被重置 但有时甚至在重新启动游戏时也会重置 成就在解锁时确实会弹出窗口 甚至在成就 UI 中可见 但它们不断被重置 删除 我们确
  • 从 Plone 内容类型生成 PDF

    我需要从内容类型创建 PDF 如果重要的话 可以灵活地制作 以便用户创建一个新文档 并在填写表单后生成 PDF 并准备下载 因此 基本上在创建 修改文档后 应该创建一个 PDF 并将其存储在 ZODB 中 实际上我使用的是 blob 以便我
  • 忽略 内的元素以不在点击时导航

    我正在尝试开始删除 btn 它位于 div 内 该 div 包含在react router dom 标记中 我希望能够在单击该 div 时导航到已建立的路径 但如果目标是删除 btn 那么它不应该导航 而只是在删除 btn 内执行 onCl
  • 如何在 Vim(或其他地方)中使用正则表达式搜索十六进制转储?

    我正在寻找一种方法来搜索二进制文件的十六进制转储中一系列十六进制数字的文本表示形式 如下所示 0x000001A0 36 5B 09 76 99 31 55 09 78 99 34 51 49 BF E0 03 0x000001B0 28