C++ 正規表現で括弧をマッチング!基本と実践

C++では、括弧をマッチングするために正規表現を使用することができます。以下は、括弧を含む文字列をマッチングするためのサンプルコードです。

#include <iostream>
#include <regex>

int main() {
    std::string str = "This is a (sample) string with (parentheses)";

    std::regex regex("\\([^()]*\\)");
    std::smatch match;

    while (std::regex_search(str, match, regex)) {
        for (auto m : match) {
            std::cout << m << std::endl;
        }
        str = match.suffix().str();
    }

    return 0;
}

上記のコードでは、括弧内の内容に一致する正規表現 \\([^()]*\\) を定義しています。次に、std::regex_search関数を使用して、文字列内で正規表現に一致する部分を検索し、std::smatchオブジェクトを使用してマッチング結果を保存します。最後に、マッチングされた内容を出力します。

注意:正規表現内の ( ) は \\( \\) にエスケープする必要があります。これにより、通常の文字として処理され、グループの記号として扱われなくなります。

bannerAds