正则表达式 - 删除模式前面的 space
regular expression - remove space in front of pattern
我有文字
Bla ~ \cite{} and Bla1 ~ \ref{} and Equation in ~ \eqref{}.
我想删除 ~
和 \
之间的 space。
因此上面一行应该是这样的:
Bla ~\cite{} and Bla1 ~\ref{} and Equation in ~\eqref{}.
我尝试关注 reg。表达式 %s:\(\|~\):(~\):gce
但它用 ~
替换了空 space。
有什么修复建议吗?
我刚刚在 vim 中进行了验证,您只需确保在模式和替换中禁用 ~
的特殊含义:
:%s/\~ \/\~\/g
将在没有 space 的情况下将 ~ \
替换为 ~\
。
您可以使用
:%s/\v(\~)\s+(\)//g
这里,
\v
开启魔法模式
(\~)
- 第 1 组:~
字符
\s+
- 一个或多个空格
(\)
- 第 2 组:一个 \
字符
</code> - 替换为组 1 + 组 2 值</li>
<li><code>g
- 多次出现。
使用vim开始匹配\zs
:%s/\~\zs //g
这意味着 vim 将考虑 ~
之后的所有内容,因为它会进行替换,在我们的例子中是 space。当我们使用 g
标志时,vim 将更改行中的所有匹配项。
使用vim开始匹配\zs
:%s/\~\zs //g
这意味着 vim 将考虑 ~
之后的所有内容,因为它会进行替换,在我们的例子中是 space.
我有文字
Bla ~ \cite{} and Bla1 ~ \ref{} and Equation in ~ \eqref{}.
我想删除 ~
和 \
之间的 space。
因此上面一行应该是这样的:
Bla ~\cite{} and Bla1 ~\ref{} and Equation in ~\eqref{}.
我尝试关注 reg。表达式 %s:\(\|~\):(~\):gce
但它用 ~
替换了空 space。
有什么修复建议吗?
我刚刚在 vim 中进行了验证,您只需确保在模式和替换中禁用 ~
的特殊含义:
:%s/\~ \/\~\/g
将在没有 space 的情况下将 ~ \
替换为 ~\
。
您可以使用
:%s/\v(\~)\s+(\)//g
这里,
\v
开启魔法模式(\~)
- 第 1 组:~
字符\s+
- 一个或多个空格(\)
- 第 2 组:一个\
字符</code> - 替换为组 1 + 组 2 值</li> <li><code>g
- 多次出现。
使用vim开始匹配\zs
:%s/\~\zs //g
这意味着 vim 将考虑 ~
之后的所有内容,因为它会进行替换,在我们的例子中是 space。当我们使用 g
标志时,vim 将更改行中的所有匹配项。
使用vim开始匹配\zs
:%s/\~\zs //g
这意味着 vim 将考虑 ~
之后的所有内容,因为它会进行替换,在我们的例子中是 space.