Atom editor 在Atom编辑器中使用反向引用进行替换

Atom editor 在Atom编辑器中使用反向引用进行替换,atom-editor,Atom Editor,比如说,我的文本中有一个频繁的模式 (Eq. \ref{XXXX}) 其中XXXX是一个单词,我想把它改成 \refp{XXXX} 我不能通过CtrlF让它工作,即使使用正则表达式。语法 \(Eq. \\ref{.*}\) 如果出现某些错误,则可用于查找事件。。。但是传统的反向引用 \\refp{\1} 不适合替换 我试图用AtomShell命令包创建一个自定义命令,其想法是在当前选择中使用sed。但是这个包不接受八进制转义序列 有什么想法吗?替换代币使用$sigil,而不是\。所以你想

比如说,我的文本中有一个频繁的模式

(Eq. \ref{XXXX})
其中XXXX是一个单词,我想把它改成

\refp{XXXX}
我不能通过CtrlF让它工作,即使使用正则表达式。语法

\(Eq. \\ref{.*}\)
如果出现某些错误,则可用于查找事件。。。但是传统的反向引用

\\refp{\1}
不适合替换

我试图用AtomShell命令包创建一个自定义命令,其想法是在当前选择中使用sed。但是这个包不接受八进制转义序列


有什么想法吗?

替换代币使用$sigil,而不是\。所以你想要1美元,2美元,3美元

这种情况下的替换应为:

\\refp{$1}
与正则表达式匹配一样,这些标记从左到右匹配paren组的内容。因此,您还需要添加匹配的参数。您的匹配字符串将是:

\(Eq. \\ref{(.*)}\)

请注意,.*匹配项周围有paren,因此这些paren中的任何内容都存储在$1中。如果有第二套和第三套价格,那将变成2美元和3美元。

谢谢,那是我没有经验大声说出来。这在Atom内部起作用,但也有一些奇怪的bug。在一些明显随机的情况下,find命令将突出显示匹配后的所有内容,直到找到下一个右括号,我不明白为什么。另外,atom shell命令包至少接受了bakCreference,但我用sed创建的命令实际上不起作用。不过,这是另一回事,也许我应该提出一个新问题。@rodrigomp闻起来像是正则表达式问题。但最好单独问“是”。