首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用C++ for循环替换C++

用C++ for循环替换C++
EN

Stack Overflow用户
提问于 2018-10-05 13:07:32
回答 1查看 151关注 0票数 0

在C++11介绍之前,多亏了Qt框架,我一直在代码中使用Q_FOREACH(element, container)循环。

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

我在Visual 2017下工作,我想通过使用正则表达式来使用它的查找和替换实用程序:

我应该在“查找什么:”输入字段中写的正则表达式是什么,以及相对的“替换为:”字符串是什么?

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

代码语言:javascript
复制
Q_FOREACH(\w, \w)

但没有找到匹配的人。我做错了什么?

下面是一些测试用例:

代码语言:javascript
复制
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
  • (,的任何单词都必须保存。
  • ,替换为:
  • ,)的任何单词都必须保存。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-05 13:25:10

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

代码语言:javascript
复制
\bQ_FOREACH\s*\((.*?),

将其改为:

代码语言:javascript
复制
for ($1 :

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52666343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档