18

我正在使用 Kate 编辑器。这是一个显示我的问题的最小示例:

我有一个文件,其中包含以下内容:

\command{stuff}

其中 stuff 是一些任意的字母串。我想用

\disobey{stuff}

东西不变的地方。正则表达式:

\\command\{[a-zA-Z]*\}

匹配这样的表达式。所以我用 CTRL-r 拉出替换对话框,然后输入

Find: \\command\{[a-zA-Z]*\}
Replace: \\disobey\{\1\}

所以在文档中,一个实际的例子是,

\command{exchange}

当我点击替换按钮时更改为

\disobey{1}

在 Kate 文档:附录 B:正则表达式中,\1 应该匹配使用的第一个模式。这确实是正确的语法吗?我也尝试过 $1、#1 和其他各种东西。

4

2 回答 2

24

这是直接来自文档的引用:

字符串\1引用括号中的第一个子模式

因此,您需要放入[a-zA-Z]*一个捕获组,例如([a-zA-Z]*).

Find: \\command\{([a-zA-Z]*)\}
Replace: \\disobey\{\1\}
于 2014-04-18T15:18:45.787 回答
16

将值包装为将( )其捕获为一个组,以便您可以在替换中使用它

因此,像这样更改您的查找正则表达式:

\\command\{([a-zA-Z]*)\}

你应该做得很好。

于 2014-04-18T15:18:23.300 回答