替换文本,但保留内容

时间:2016-01-24 14:28:29

标签: regex text latex

我有以下

\citep{lehrer1969, nonaka2000}, or \citep{nonaka2000}

我希望得到一个正则表达式,以\index{}

包围\citep{..}

导致

例如

\index{\citep{lehrer1969, nonaka2000}}

请安全地做这件事的正则表达式是什么?

如果有帮助,这是在TexStudio中

1 个答案:

答案 0 :(得分:1)

查找

(\\citep\{[^{}]*\})

替换为

\index{\1}

See it in action by clicking here

这个想法是:

  • \{等具有特殊含义的字符需要使用斜杠进行转义
  • [^{}]* - 零个或多个字符,不是{}
  • \1引用匹配的第一组,在这种情况下是整个匹配,因为我们用()
  • 括起所有内容