C++ 识别QT中正则表达式匹配的组
我在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
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个)。