求正则表达式 替换 #ifdef ... #endif之间的内容

有如下代码

#ifdef AVRTARGET
#define CPU_MAP_ATMEGA328P // Arduino Uno CPU
#endif
#ifdef STM32F103C8
//#define CPU_MAP_STM32F103
#endif

如果按照正则表达式,会把上面两个#ifdef #endif全选中,

#ifdef AVRTARGET(.|\n)+#endif

如何才能只选中第一对#endif和#endif之间的内容

#ifdef AVRTARGET
#define CPU_MAP_ATMEGA328P // Arduino Uno CPU
#endif

保留

#ifdef STM32F103C8
//#define CPU_MAP_STM32F103
#endif
阅读 2.7k
2 个回答

使用懒惰模式,#ifdef AVRTARGET(.|\n)+?#endif

使用非贪婪匹配#ifdef AVRTARGET(.|\n)+?#endif

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进