我正在使用凯特编辑器.这是一个显示我的问题的最小示例:
我有一个文件,出现了一堆:
\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)
你应该做得很好