如何在 Atom 中使用正则表达式在文本字符串中插入符号(Mac OS)

Posted

技术标签:

【中文标题】如何在 Atom 中使用正则表达式在文本字符串中插入符号(Mac OS)【英文标题】:how to insert symbols in a text string using regex in Atom (Mac OS) 【发布时间】:2022-01-15 21:29:54 【问题描述】:

我需要在每 2 个字符之前在十六进制字符串中插入一个前缀。 我的第一个想法是使用像

这样的环视
(?=[0-9a-f]2)
但显然它不会起作用,因为它会找到后面有两个符号的每个位置,而不是每个其他位置。 该行是:
d0bfd0bed181d182d183d0bfd0b8d0bbd0be
我可以使用 (?=d[01]) 和 (?另一个问题是,看起来,Atom 编辑器无法在工作环视表达式找到的负空间中插入任何内容。替换适用于 ^ 或 $ 等位置正则表达式,但不适用于lookarond/lookbehind 表达式。

如果不能在 Atom 中完成,请推荐一个适用于 Mac OS 的优秀代码和文本编辑器,它可以理解 perl 风格的正则表达式进行编辑。

【问题讨论】:

您是否尝试过类似([0-9a-f]2) 并替换为0$1(在两个十六进制字符前添加0)? (看起来像there is no support for $0)。 【参考方案1】:

你可以使用

([0-9a-f]2)

并替换为<your_prefix>$1 为匹配的字符串添加前缀。

不幸的是,there is no support for $0 backreference 在 Atom 中,因此您必须在整个模式周围使用外部捕获组。

【讨论】:

以上是关于如何在 Atom 中使用正则表达式在文本字符串中插入符号(Mac OS)的主要内容,如果未能解决你的问题,请参考以下文章

ES5-正则表达式-15.10.2.8 Atom

如何使用 Python 结合正则表达式和字符串/文件操作在文本文件中搜索模式并存储模式的实例?

如何在 Tkinter 文本搜索方法中使用正则表达式?

awk 系列:如何使用 awk 和正则表达式过滤文本或文件中的字符串

如何在正则表达式中匹配 \n 但从以下文本中跳过 n?

如何使用正则表达式在字符串中查找所有 YouTube 视频 ID?