CCF认证 201409-3字符串匹配

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/richenyunqi/article/details/85260946

欢迎访问我的CCF认证考试题解目录哦 https://blog.csdn.net/richenyunqi/article/details/83385502

题目描述

CCF认证 201409-3字符串匹配题目描述

算法设计

这道题可以用正则表达式来解。具体实现见代码注释吧。

C++代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    cin>>s;//读取需要匹配的字符串
    int n,m;
    scanf("%d%d%*c",&m,&n);
    regex r("[[:alpha:]]*"+s+"[[:alpha:]]*");//[:alpha:]表示任意字符,*表示0个或多个这样的字符
    if(m==0)//m是0,利用regex::icase标志,表示匹配时忽略大小写
        r=regex("[[:alpha:]]*"+s+"[[:alpha:]]*",regex::icase);
    while(n--){
        getline(cin,s);//读取要匹配的字符串
        if(regex_match(s,r))//匹配成功
            puts(s.c_str());//输出
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/richenyunqi/article/details/85260946