アルゴ式(beta版)の「正規表現 (beta)」先読み・後読みからの出典です。
algo-method.com
アルゴ式とは...
>・プログラミングや情報科学をコツコツ学べる「教科書」
>・学んだ内容をゲーム感覚で大量に実践できる「練習問題」
>の2つで構成される、Web上で完結した学習コンテンツです。
正規表現 4-1 アルルの呪文
/* C++による「正規表現 (beta)」先読み・後読み 正規表現 4-1 アルルの呪文 https://algo-method.com/tasks/397 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s; cin>>s; regex reg{R"(ru(?=r))"}; string ans=regex_replace(s,reg,"ra"); cout<<ans<<endl; return 0; }
・正規表現 4-2 アジアンなんとか
/* C++による「正規表現 (beta)」先読み・後読み 正規表現 4-2 アジアンなんとか https://algo-method.com/tasks/436 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s; getline(cin,s); regex reg{R"(asian(?=(\s[a-z]+){5,}))"}; string ans=regex_replace(s,reg,"global"); cout<<ans<<endl; return 0; }
・正規表現 4-3 algometric
/* C++による「正規表現 (beta)」先読み・後読み 正規表現 4-3 algometric https://algo-method.com/tasks/435 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s; cin>>s; regex reg{R"(algo(?!rithm)(?!method)[a-z]{5,})"}; smatch TF; bool tf=regex_search(s,TF,reg); if(tf){ cout<<"Yes"<<endl; }else{ cout<<"No"<<endl; } return 0; }
・正規表現 4-4 typical_snake_case
/* C++による「正規表現 (beta)」先読み・後読み 正規表現 4-4 typical_snake_case https://algo-method.com/tasks/646 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,y,m; cin>>n>>y>>m; for(int i=0;i<n;i++){ string s; cin>>s; s=regex_replace(s,regex(".pdf$"),""); smatch TF; if(!(regex_search(s,TF,regex("[0-9]{8}$")))){ continue; } int date=stoi(TF.str()); if(date/100!=y*100+m){ continue; } s=regex_replace(s,regex("_[0-9]{8}$"),""); s=regex_replace(s,regex("^[0-9]*_"),""); cout<<s<<endl; } return 0; }
設問の出典は、情報科学をコツコツ積み立てて学習できるサービス「アルゴ式(beta版)」です。
algo-method.com