代码之家  ›  专栏  ›  技术社区  ›  ABCplus

用ReX代替C++实现循环

  •  0
  • ABCplus  · 技术社区  · 8 年前

    Q_FOREACH(element, container)

    现在,我想用C++ 11替换它的循环形式: for(element : container)

    我在Visual Studio 2017下工作,我想使用它的Find&使用正则表达式替换实用程序:

    enter image description here

    我应该在“Find What:”输入字段中写的正则表达式是什么?相对的“Replace with:”字符串是什么?

    作为第一次尝试,我尝试在“查找内容”中设置:

    Q_FOREACH(\w, \w)
    

    下面是一些测试用例:

    Q_FOREACH(Class instance, this->classes())    -->  for (Class instance : this->classes())
    Q_FOREACH(int v, vector)    -->  for (int v : vector)
    Q_FOREACH   (int v  , vector)    -->  for (int v : vector)
    

    • 代替 Q_FOREACH 按键 for
    • 有什么消息吗 ( , 必须保存
    • 代替 具有 :
    • 有什么消息吗 )
    1 回复  |  直到 8 年前
        1
  •  0
  •   Nissa TheRealPir    8 年前

    捕获组应在大多数主要引擎中工作:

    \bQ_FOREACH\s*\((.*?),
    

    替换为:

    for ($1 :
    

    https://regex101.com/r/v56HBk/1