Vim 正则表达式替换/转义管道字符

2024-01-15

假设我有一行:

a|b|c

我想运行一个正则表达式将其转换为:

a\|b\|c

在我熟悉的大多数正则表达式引擎中,类似s%\|%\\|%g应该管用。如果我在 Vim 中尝试这个,我会得到:

\|a\||\|b\||\|c

事实证明,我在输入这个问题时就找到了答案。无论如何,我将把它与我的解决方案一起提交,因为我有点惊讶搜索没有发现任何重复项。


vim 有自己的正则表达式语法。 vim 帮助文档中有与 PCRE 的比较(参见:help perl-patterns).

除此之外,vim 没有 magic/magic/very magic 模式。:h magic检查表。

默认情况下,vim 有magic模式。如果你想使:s命令在你的问题工作中,只需激活very magic:

:s/\v\|/\\|/g
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vim 正则表达式替换/转义管道字符 的相关文章

随机推荐

  • z-index 不适用于绝对位置

    如果你看看我的测试网站here http www hosting mate com marinebuoysaustralia 您将看到 向下滚动 按钮与我的所有内容重叠 无论我输入什么 z index 有办法解决这个问题吗 我意识到我的立场
  • 在 VBscript 中使用命令行参数

    如何在 VBscript 中传递和访问命令行参数 Set args Wscript Arguments For Each arg In args Wscript Echo arg Next 从命令提示符运行脚本 如下所示 CSCRIPT M
  • 如何将 Spring Boot 与 MySQL 数据库和 JPA 结合使用?

    我想使用 MySQL 和 JPA 设置 Spring Boot 为此我创建 Person package domain import javax persistence Entity Table name person public cla
  • 什么是生成单元测试框架?

    在 stackoverflow 上我遇到了 mbunit 在其页面上 它指出 mbunit 是一个生成单元测试框架 但我找不到任何描述生成单元测试框架是什么的地方 我希望得到 一个定义 有关生成单元测试框架是什么和不是什么的文章的链接 生成
  • 如何在 C 程序(在 Linux 上)中接收使用 sigqueue 发送的信号?

    如何在 C 程序 在 Linux 上 中接收使用 sigqueue 发送的信号 如果只是使用kill来发送信号 我只需添加一个带有类似这样的接收器 signal SIGUSR1 sigusr1 指向一个像这样的简单函数 void sigus
  • 更新到 Hibernate 5 后无法访问 TransactionManager 或 UserTransaction

    我刚刚从 Hibernate 4 2 19 更新到 Hibernate 5 1 2 当然 这并不是说事情没有按计划进行 在解决了几个问题 其中 JOIN FETCH 必须替换为 JOIN 之后 我现在遇到了下一个问题 org springf
  • 在 Linux 上用 C 语言使用 RAW Socket 发送组播

    我编写了一个在 Ubuntu LTE 上运行的程序 该程序应该使用原始套接字将多播消息发送到 239 255 25 25 端口 5004 为了接收多播 我使用 UDP 套接字 通过套接字发送的数据是使用wireshark从rtp流中捕获的
  • 方案尾递归

    我正在尝试创建一个方案尾递归函数 flatten tl rec 来展平嵌套列表列表 define flatten tl rec lambda xs letrec flatten tl rec acc lambda xs acc cond e
  • Codeigniter REST API 提供未知方法?

    我在用着https github com chriskacerguis codeigniter restserver https github com chriskacerguis codeigniter restserver与代码点火器
  • 使用命令模式时的依赖注入

    我是第一次使用命令模式 我有点不确定应该如何处理依赖关系 在下面的代码中 我们发送一个CreateProductCommand然后排队等待稍后执行 该命令封装了它执行所需的所有信息 在这种情况下 我们可能需要访问某种类型的数据存储来创建产品
  • 无法使用 XCode 8 将 UIView 上方的 UIScrollView 插入到另一个场景

    我有一个现有的 iPad 应用程序 纵向模式 我试图在 XCode 中添加横向模式 我已经能够在第一个简单视图上做到这一点 如下所示 通过将 XCode 中的类更改为 UIScrollView 并且 UIView 落在它下面的行中 我相信
  • 如何在 UIImageView 旋转期间动态调整阴影?

    我使用以下代码来添加阴影 letterE layer shadowColor UIColor blackColor CGColor letterE layer shadowOffset CGSizeMake 2 5 2 5 letterE
  • 检查文件是否有给定的列数[重复]

    这个问题在这里已经有答案了 如果整个文件的列数为 4 我有一些需要处理的 csv 文件 file 1 1 aa bb cc 2 dd ee ff 3 gg hh ii file 2 1 xx 2 yy 3 zz 4 xy 我为此使用 awk
  • 每个键有多个值的 C# 字典

    我正在使用 C 字典 Dictionary
  • 在 TypeScript 中使用 Google Chrome 扩展 API

    我正在构建一个用 TypeScript 编写的 Chrome 扩展 我在用着WebStorm https en wikipedia org wiki JetBrains WebStorm我添加了chrome DefiniteltyTyped
  • 为非管理员前端用户创建类似 django 管理员的操作 - 如何

    我正在考虑在管理员之外创建类似管理操作的行为 因此 用户应该能够使用复选框选择对象 并且在使用下拉列表选择操作后 将对所有选定的对象执行所选操作 我想到了以下方法 为 html 模板中的每个对象创建一个复选框 结果是这样的 我从管理员那里得
  • 将 javascript 数组添加到多维数组

    我创建了一个空数组 我想在该数组中创建并附加数组 values 我想要这样的格式的值数组 1025409600000 23 041422681023 1028088000000 19 854291255832 1030766400000 2
  • VSTS 和 Git:为什么在合并到 master 时压缩我的 DEV 分支会说 DEV 既落后又领先于 master?

    我希望有人可以帮助我解决这个问题 因为我正在挠头想了解发生了什么 以及是否可以纠正 我目前正在 VSTS 中开发一个项目 并使用 GIT 作为代码存储库 我有通常的 MASTER 分支 还有一个 DEVELOPMENT 分支 然后 我从开发
  • 描述性 URL 与基本 URL

    我有一个网站 我对所有链接都使用干净的 URL 我想知道人们对简短的基本 URL 与较长的描述性 URL 有何看法 例如 如果我的网站是关于乔治亚斗牛犬足球新闻的 那么哪个网站更适合 SEO 目的 http www example com
  • Vim 正则表达式替换/转义管道字符

    假设我有一行 a b c 我想运行一个正则表达式将其转换为 a b c 在我熟悉的大多数正则表达式引擎中 类似s g应该管用 如果我在 Vim 中尝试这个 我会得到 a b c 事实证明 我在输入这个问题时就找到了答案 无论如何 我将把它与