【发布时间】:2017-11-16 07:32:00
【问题描述】:
我想在我的项目中插入 doxygen cmets。我想尽可能自动地做到这一点,所以我想到了使用正则表达式以及搜索和替换功能。
示例:
int var; //Explanation variable
进入:
int var; /**< @brief Explanation variable */
作为奖励,我也不想删除我的代码意图。
我尝试了不同的方法,例如
查找:.+;*// .+(查找相关行)
替换:.+;*/**< @brief .+ */
问题是,它没有插入原始文本,而是将正则表达式作为纯文本插入,并删除了预期的代码。
有没有办法正确解决这个问题?我已经阅读了许多不同的帖子,但我无法让它工作。
【问题讨论】:
-
使用捕获组/反向引用:
(.+;\s*)//\s*(.+)->$1/**< @brief $2 */。 -
您需要在捕获组中捕获原始文本,并在替换中使用反向引用。我不知道您使用什么工具进行这些替换以及使用什么正则表达式引擎?
-
@Doqnach 我使用的是 VS2017,但我也可以使用 Eclipse Luna 或 Notepad++。我会使用任何需要的东西。
-
@xMutzelx:那C++标签就无关紧要了,我去掉了。
-
使用@WiktorStribiżew 的正则表达式,但在第一组中捕获较少:
(.+;*)// *(.+)
标签: regex visual-studio comments