寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

アルゴ式(beta版): C++による「正規表現 (beta)」エスケープ文字の解答例

アルゴ式(beta版)の「正規表現 (beta)」エスケープ文字からの出典です。
algo-method.com
アルゴ式とは...
>・プログラミングや情報科学をコツコツ学べる「教科書」
>・学んだ内容をゲーム感覚で大量に実践できる「練習問題」
>の2つで構成される、Web上で完結した学習コンテンツです。

C++による「正規表現 (beta)」エスケープ文字の解答例

僕が作成、提出したコードは、以下のとおりです。

正規表現 2-1

algo-method.com

/*
C++による「正規表現 (beta)」エスケープ文字の解答例
正規表現 2-1
https://algo-method.com/tasks/297
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s;
    cin>>s;
    if(s.find("1+1")==string::npos){
        cout<<"No"<<endl;
    }else{
        cout<<"Yes"<<endl;
    }
    return 0;
}
正規表現 2-2

algo-method.com

/*
C++による「正規表現 (beta)」エスケープ文字の解答例
正規表現 2-2
https://algo-method.com/tasks/338
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s;
    cin>>s;
    regex reg{R"(\(.+\))"};
    smatch TF;
    bool tf=regex_search(s,TF,reg);
    if(tf){
        cout<<"Yes"<<endl;
    }else{
        cout<<"No"<<endl;
    }
    return 0;
}
正規表現 2-3

algo-method.com

/*
C++による「正規表現 (beta)」エスケープ文字の解答例
正規表現 2-3
https://algo-method.com/tasks/340
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s;
    cin>>s;
    regex reg{R"(^([a-z]+\-)*[a-z]+$)"};
    smatch TF;
    bool tf=regex_search(s,TF,reg);
    if(tf){
        cout<<"Yes"<<endl;
    }else{
        cout<<"No"<<endl;
    }
    return 0;
}

設問の出典は、情報科学をコツコツ積み立てて学習できるサービス「アルゴ式(beta版)」です。
algo-method.com