C++中regex如何匹配括号

c++
190
2024/2/9 12:25:17
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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 对象来保存匹配的结果。最后输出匹配到的内容。

注意,正则表达式中的 ( ) 需要转义为 \\( \\),以保证它们被当作普通字符处理,而不是分组符号。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C++动态二维数组如何遍历