有没有什么方法可以去掉普通牙套

问题描述 投票:0回答:2

有没有办法用正则表达式或任何其他方法删除空白大括号?

例如:

i/p text :- It is \text{only} {an} \textbf{example} to {show} my {requirement}.

o/p :- It is \text{only} an \textbf{example} to show my requirement.
regex vim vi greedy
2个回答
0
投票

试试这个:

:%s/\(\^\|\s\+\){\([^}]*\)}/\1\2/g
  • \(\^\|\s\+\)
    :匹配
    {…}
    之前的空格(变成
    \1
  • {
    :文字左花括号
  • \([^}]*\)
    :与
    {…}
    内的单词匹配(变成
    \2
  • }
    :文字右花括号

因此

\1\2
将是
\1
之前的空格 (
{…}
),然后是没有
\2
{
的单词 (
}
)。


0
投票

另一个更简单的解决方案是:

:%s/ {\(.\{-}\)}/ \1/g
© www.soinside.com 2019 - 2024. All rights reserved.