C ++ Regex与字符串不匹配

时间:2016-06-24 13:37:51

标签: c++ regex

我使用c++ regex library遇到问题我在java编写了一个简单的程序,它检查给定字符串与模式匹配的次数。它给出正确答案3 代码:

public class PatternMatch {

    public static void main(String[] args) {

        int count=0;

        Pattern p = Pattern.compile("ab");



        Matcher target = p.matcher("ababbaba");


        while(target.find()){

            count++;

        }

        System.out.println("Number of times : "+count);
    }

}

输出:

Number of times : 3

但是现在我尝试在c ++中使用正则表达式库来实现相同的程序,但它的工作方式与我预期的不同。我给出一个像ababbaba这样的目标字符串,它不像java那样计算,也不给出输出3。我想解决这个问题,但我怎么能这样做 代码:

#include<iostream>
#include<string>
#include<regex>


    using namespace std;


    int main() {


        bool check;
        int count = 0;
        regex Pattern("ab");
        string target ="ababbaba";
        smatch match;


        check = regex_match(target, match, Pattern);

            if(check){
                count++;
        }

        cout << count << endl;
        return 0;
    }

0 个答案:

没有答案