如何使用正则表达式批量添加和删除字符?

注:由于简书不支持 gif,强烈建议至本篇文章的微信公众号链接如何使用正则表达式批量添加和删除字符查看带动图的步骤演示版。
Foreword
作为一枚 Technical Writer,在使用 Markdown 进行技术写作的过程中,常常会遇到需要批量添加字符或删除字符的情况。如果只是几个还好说,当几十甚至上百个时,那就绝望了,瞬间石化成呆若木鸡的机器人。
此时,如果使用正则表达式,则可以简化工作,极大地提高工作效率。
如果你还不熟悉 Markdown,没关系,可以先花几分钟去看下Markdown:写技术文档、个人博客和读书笔记都很好用的轻量级标记语言和如何为 Markdown 文件自动生成目录?这两篇文章,后面这篇里有讲到我在下文中使用的工具 Visual Studio Code (VS Code)。
下面分享一下我在工作中遇到的两种情况,以及如何使用正则表达式轻而易举地批量处理。
1. 批量添加字符
场景描述
在统一 Markdown 文件的表格格式时,有个文件的表格没加左右竖线,为了保持全局统一,需要给这个表格加上左右竖线。当然啦,Markdown 语法也支持不加左右竖线。
待处理的表格有 113 行,每行都加两个竖线的话,手工操作至少按键 226 次,太可怕。先来直观地感受下这个 113 行的表格:

处理步骤
- 为每行最左侧添加竖线。
使用 VS Code 的查找替换功能:
1)在查找框里输入 "^",即选中所有行的开头。
2)在替换框里输入竖线和一个空格 "| "。
3)单击全部替换按钮。
可以看到所有行的最左侧已变成竖线加一个空格。

- 为每行最右侧添加竖线。
1)在查找框里输入 "$",即选中所有行的末尾。
2)在替换框里输入一个空格和竖线 " |"。
3)单击全部替换按钮,完成。
可以看到所有行的最右侧已变成一个空格加竖线。

2. 批量删除字符
场景描述
有一个讲操作符的 Markdown 文件里面,给表格中的所有操作符都加了 Markdown 里面的行内代码格式,即 ``(例如:=
应改为 = )。但是,这里不需要的,要去掉。整个文档共计 122 行,而几个操作符的表格占了绝大部分。
手工删除,感觉要删到地老天荒……咦,貌似有点儿夸张了……感受一下:

处理步骤
- 删除操作符左侧的 "`" 字符。
使用 VS Code 的查找替换功能:
1)在查找框里输入 "[`",选中需要替换的左侧字符。
2)在替换框里输入 "[" 字符。
3)单击全部替换按钮。

- 删除操作符右侧的 "`" 字符。
1)在查找框里输入 "`]",选中需要替换的右侧字符。
2)在替换框里输入 "]" 字符。
3)单击全部替换按钮。

- 删除两个操作符之间的 "`" 字符,包括前面操作符的右侧和后面操作符的左侧。
有两个操作符在一起,中间用逗号隔开的情况,处理方式类似:
1)将 "`," 全部替换为 ",";
2)将 " `"(前有一个空格)全部替换为 " "(一个空格)。

- 手动排查处理。删除未在上述范围内的,添加误删的。

Afterword
有没有感觉世界都美好了?
正则表达式是一种无比强大的工具,巧妙利用可以极大地节省时间、提高工作效率。下面这本书可以系统地入门学习:

一起探索奇妙新世界吧!
你可能想读:
如何让你的内容输出更加专业更有设计感?
书单 | 有哪些技术传播从业者必知必看的书籍?
有哪些适合技术传播从业者关注的优质博客?
Markdown:写技术文档、个人博客和读书笔记都很好用的轻量级标记语言
如何为 Markdown 文件自动生成目录?
技术写作实例解析 | 简洁即是美
两分钟趣味解读 Technical Writer
若脱离理解,直译得再正确又有何意?
优质译文不应止于正确,还要 Well-Organized
写在入职技术型创业公司 PingCAP 一个月之后
-END-