通过正则表达式匹配第n个数字(QRegularExpression)

时间:2015-05-15 08:56:06

标签: regex qt c++11 qt5

我正在尝试匹配字符串中的第n个数字。

例如:0000_1111_2222_3333

字符串[0]应为0000,字符串[1]应为1111,依此类推

以下是我的解决方案

AndroidManifest.xml

我像下面这样使用它

QString find_nth_match(QRegularExpression const &reg, QString const &input, int nth)
{
    auto it = reg.globalMatch(input);
    QRegularExpressionMatch match;
    int count = 0;

    while(it.hasNext()){
        match = it.next();
        if(count == nth){
            return match.captured(1);
        }
        ++count;
    }

    return "no match";
}

它将打印“nth match == 2222”

可以通过正则表达式匹配第n个数字吗?

0 个答案:

没有答案