如何替换Kate正则表达式

Jon*_*her 12 regex kate

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

我有一个文件,出现了一堆:

\command{stuff}
Run Code Online (Sandbox Code Playgroud)

东西是一些任意字母串.我想替换它

\disobey{stuff}
Run Code Online (Sandbox Code Playgroud)

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

\\command\{[a-zA-Z]*\}
Run Code Online (Sandbox Code Playgroud)

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

Find: \\command\{[a-zA-Z]*\}
Replace: \\disobey\{\1\}
Run Code Online (Sandbox Code Playgroud)

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

\command{exchange}
Run Code Online (Sandbox Code Playgroud)

当我点击更换按钮更改为

\disobey{1}
Run Code Online (Sandbox Code Playgroud)

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

The*_*Hat 17

以下是直接来自文档的引用:

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

所以你需要加入[a-zA-Z]*一个捕获组,比如([a-zA-Z]*).

Find: \\command\{([a-zA-Z]*)\}
Replace: \\disobey\{\1\}
Run Code Online (Sandbox Code Playgroud)


Ami*_*oki 13

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

所以改变你的发现正则表达式如下:

\\command\{([a-zA-Z]*)\}
Run Code Online (Sandbox Code Playgroud)

你应该做得很好