Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 识别QT中正则表达式匹配的组_C++_Qt - Fatal编程技术网

C++ 识别QT中正则表达式匹配的组

C++ 识别QT中正则表达式匹配的组,c++,qt,C++,Qt,我在QT中有一个相当大的正则表达式,它匹配多种模式。。。为了简化问题,我有一个正则表达式: QRegularExpression regex=(“(?p\d{5})|”(?p\w+@\w+\.\w+)|(?p\d{3}-\d{5,8})” 匹配5位数的邮政编码、电子邮件地址或此格式的电话号码:888-888888(我没有测试正则表达式,但它只是为了演示,我不在乎它是否错误) 现在我需要从字符串中提取这些信息,以便使用以下代码: QRegularExpressionMatchIterator re

我在QT中有一个相当大的正则表达式,它匹配多种模式。。。为了简化问题,我有一个正则表达式:

QRegularExpression regex=(“(?p\d{5})|”(?p\w+@\w+\.\w+)|(?p\d{3}-\d{5,8})”

匹配5位数的邮政编码、电子邮件地址或此格式的电话号码:888-888888(我没有测试正则表达式,但它只是为了演示,我不在乎它是否错误)

现在我需要从字符串中提取这些信息,以便使用以下代码:

QRegularExpressionMatchIterator regexIterator=regex.globalMatch(“067-839405垃圾我的。email@email.com其他垃圾87494我的。email2@email.co.uk");

和一个简单的while循环

正如你所注意到的,我在正则表达式中命名了这些组。在while循环中,我如何识别当前查看的匹配项是ZipCode、电子邮件地址还是电话号码

提前感谢

同时遍历
captured()
字符串列表和
namedCaptureGroups()
,如果
captured(i)
字符串不为空,请查看
namedCaptureGroups()。在(i)
处查看相同索引


希望这能有所帮助。

嗨,我已经解决了这个问题:可能是一个缓慢的解决方案,但可以接受,因为我没有那么多的团队(我肯定不超过40个)。