私は単純なケースを実装しようとしています(基本的に、2つのタグの間のテキストを見つけます)。ライン取りたい
/* 私のコメント 1 */
/* 私のコメント 2 */
/* 私のコメント 3 */
出力として。キャプチャ グループを 1 に制限する必要があるようですか? 文字列Hello /* my comment 1 */ world
で私が欲しいものを手に入れるので - res[0] には /* 私のコメント 1 が含まれます */
#include <iostream>
#include <string>
#include <regex>
int main(int argc, const char * argv[])
{
std::string str = "Hello /* my comment 1 */ world /* my comment 2 */ of /* my comment 3 */ cpp";
std::cmatch res;
std::regex rx("/\\*(.*)\\*/");
std::regex_search(str.c_str(), res, rx);
for (int i = 0; i < sizeof(res) / sizeof(res[0]); i++) {
std::cout << res[i] << std::endl;
}
return 0;
}