アルゴ式(beta版)の「正規表現 (beta)」メタ文字 その 1からの出典です。
algo-method.com
アルゴ式とは...
>・プログラミングや情報科学をコツコツ学べる「教科書」
>・学んだ内容をゲーム感覚で大量に実践できる「練習問題」
>の2つで構成される、Web上で完結した学習コンテンツです。
正規表現 1-1
/* C++による「正規表現 (beta)」メタ文字 その 1の解答例 正規表現 1-1 https://algo-method.com/tasks/292 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s; cin>>s; if(s.find("algo")==string::npos){ cout<<"No"<<endl; }else{ cout<<"Yes"<<endl; } return 0; }
・正規表現 1-2
/* C++による「正規表現 (beta)」メタ文字 その 1の解答例 正規表現 1-2 https://algo-method.com/tasks/298 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s; cin>>s; int ss=(int)s.size(); if(ss<6){ cout<<"No"<<endl; }else{ string t=s.substr(0,4); string u=s.substr(ss-1,1); bool tf=true; for(int i=4;i<ss-1;i++){ if(s[i]!='o'){ tf=false; } } if(t=="meth" && tf && u=="d"){ cout<<"Yes"<<endl; }else{ cout<<"No"<<endl; } } return 0; }
・正規表現 1-3
/* C++による「正規表現 (beta)」メタ文字 その 1の解答例 正規表現 1-3 https://algo-method.com/tasks/299 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s; cin>>s; regex reg{R"(^a{1,5}b{10}c*$)"}; smatch TF; bool tf=regex_search(s,TF,reg); if(tf){ cout<<"Yes"<<endl; }else{ cout<<"No"<<endl; } return 0; }
・正規表現 1-4
/* C++による「正規表現 (beta)」メタ文字 その 1の解答例 正規表現 1-4 https://algo-method.com/tasks/300 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; bool CatDog(string s){ if(s.find("cat")==string::npos && s.find("dog")==string::npos){ return false; }else{ return true; } } int main(void){ string s; cin>>s; if(CatDog(s)){ cout<<"Yes"<<endl; }else{ cout<<"No"<<endl; } return 0; }
設問の出典は、情報科学をコツコツ積み立てて学習できるサービス「アルゴ式(beta版)」です。
algo-method.com