0

这是关于Epsilon编辑器中的正则表达式替换。我有一个csv文件,我想用某种模式替换文本。

当我在替换组中使用#1#2 等时,模式替换效果很好。

但是,当我输入#10时,它是被放置在这里的第一组。如何使用大于9的匹配组?

4

1 回答 1

0

(嗯,一个很晚的答案,我现在意识到;无论如何......)

我找不到文档,但我认为只支持 1(整个模式为 0)到 9(至少在交互式命令中)。

我在 src/searc.e 中找到了这段代码:

...
char *with;
...
if (*with != '#')
    insert(*with);
else if (isdigit(*++with)) {
    bufnum = orig;
    group = *with - '0';
    buf_xfer(tmp, find_group(group, 1),
        find_group(group, 0));
    bufnum = tmp;
} else {
...

在我看来,# 之后唯一的第一个字符被考虑。

您可以尝试发送邮件至 support@lugaru.com 以进一步澄清,我发现 Steven Doerfler 总是非常有帮助(Epsilon 14 现在处于测试阶段,这可能是改进文档的机会。)

于 2020-06-07T17:13:20.663 回答