regex - Vim 替代 - 用括号括起来 `\ref{eq:x}`
问题描述
我有一个乳胶文档,其中包含一堆形式的字符串
Eq.~\ref{eq:x}
wherex
通常每次出现都有一个不同的字符串。我想用上面的替换
Eq.~(\ref{eq:x})
我可以匹配一些搜索的匹配项,/\\ref{eq:.*\}
但如果你有类似的东西,这不起作用
blah Eq.~\ref{eq:x} something something \cite{this}
请注意,我不想替换\ref{eq:
为在内部处理括号的乳胶宏。
解决方案
*
是一个贪婪的量词,它将匹配尽可能多的字符。因此,如果您有多个}
就行,.*}
将匹配每个字符直到}
该行的最后一个。
您应该改用非贪婪量词:
/\\ref{eq:.\{-}\}
见:help \{
。
推荐阅读
- android - 在 sharedPref.getString 中有一个默认值有什么意义?
- python - 如何遍历返回二维数组的第三个数组维度
- c# - 如何将 SAML 身份验证添加到 MVC 应用程序
- c - 没有创建链接列表,为什么?[CS50 pset4]
- python - Nvidia Jetson Xavier Hello AI World,运行示例时出错
- typescript - 虚拟函数导致“错误 TS1109:预期表达式”。
- javascript - 控制台错误,需要删除特定字符
- groovy - Groovy RestClient POST 请求发送无效的 JSON
- typescript - 如何在没有任何或忽略的情况下使用 array.includes?
- spark-submit - 如何使用多个 CPU 进行火花提交