C++检测字符串中有效的括号个数

news2025/2/24 9:06:56

 匹配一个字符串buf中,连续包换运算符reg的次数:


#include <iostream>

//return 返回匹配的字符个数
//buf, 要检测的字符串
//reg, 包含的连续运算符
int GetMatchCount(std::string& buf, std::string& reg)
{
    int nMatchCount = 0;

	if (reg.empty())
		return nMatchCount;

    std::string matchReg = reg;
    for (int i = 0; i < buf.length(); i++)
    {
        if (buf[i] == matchReg.front())
        {
            matchReg.erase(matchReg.begin());
        }

        if (matchReg.empty())
        {
            nMatchCount ++;

            matchReg = reg;
        }
    }

    return nMatchCount;
}

使用示例:


int main()
{

    std::string text = "[][][[(Hello World!)]";
    std::string reg = "[]";

    std::cout << "match string:\"" << text << "\" | reg(\"" << reg << "\")" << std::endl;
    int count = GetMatchCount(text, reg);
    std::cout << "match count: " << count << std::endl;

    return 0;
}

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1285948.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

android项目实战之使用框架 集成多图片、视频的上传

效果图 实现方式&#xff0c;本功能使用PictureSelector 第三方库 。作者项目地址&#xff1a;https://github.com/LuckSiege/PictureSelector 1. builder.gradle 增加 implementation io.github.lucksiege:pictureselector:v3.11.1implementation com.tbruyelle.rxpermissio…

DELL服务器ESXi 6.7平台配置网卡直通报错

报错信息&#xff1a; 内存设置无效: 内存预留 (sched.mem.min) 应该等于内存大小 尝试勾选内存配置&#xff1a;预留所有客户机内存 报错信息&#xff1a; 模块“DevicePowerOn”打开电源失败。 配置文件中缺少 pciPassthru1.id 条目。 无法启动虚拟机。 尝试&#xff1a…

基于Web和深度学习的辣椒检测产量预测系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 辣椒是一种重要的经济作物&#xff0c;被广泛种植和消费。然而&#xff0c;辣椒的产量预测一直是农业生产中的重要问题。准确地预测辣椒的产量可以帮助农民合理安…

『时间之外』这个不得不思考的问题,还是要说一下

还记得当初自己为什么选择计算机&#xff1f; 当初你问我为什么选择计算机&#xff0c;我笑着回答&#xff1a;“因为我梦想成为神奇的码农&#xff01;我想像编织魔法一样编写程序&#xff0c;创造出炫酷的虚拟世界&#xff01;”谁知道&#xff0c;我刚入门的那天&#xff0…

鸿蒙开发—学习声明式UI

基本UI描述 ArkTS通过装饰器Component和Entry装饰struct关键字声明的数据结构&#xff0c;构成一个自定义组件。自定义组件中提供了一个build函数&#xff0c;开发者需在该函数内以链式调用的方式进行基本的UI描述&#xff0c;UI描述的方法请参考UI描述规范。 基本概念 stru…

(11_29)畅捷通的 Serverless 探索实践之路

作者&#xff1a;计缘 畅捷通介绍 畅捷通是中国领先的小微企业财税及业务云服务提供商&#xff0c;成立于2010年。畅捷通在2021年中国小微企业云财税市场份额排名第一&#xff0c;在产品前瞻性及行业全覆盖方面领跑市场&#xff0c;位居中国小微企业云财税厂商矩阵领军象限前…

医院运维 告警闪现后的故障排查

长期以来&#xff0c;医院信息化运维中存在着科室复杂、应用场景多、终端运维工作量大、软件系统兼容需求强等诸多痛点&#xff0c;且对技术设备的稳定性、连续性要求极高&#xff0c;在日常运维中&#xff0c;需要应对和解决这些问题来保障业务稳定、健康运行。 1、数据孤岛 …

mapbox实现框选要素

成果图 参考博客 https://blog.csdn.net/ScapeD/article/details/89158755 原理与源码 利用mapbox的queryRenderedFeatures方法可以获取范围内的要素&#xff0c;但是这个只能是点和矩形和范围内的全屏要素&#xff0c;并不支持多边形&#xff0c;所以实现这个的思路就是画完框…

合并一个文件夹下的多个txt文件,并对文本内容分列处理。

python 合并一个文件夹下的多个txt文件&#xff0c;并对文本内容分列。 原始文件&#xff1a; 最终结果&#xff1a; import pandas as pd import xlwt import pandas as pd from sqlalchemy import create_engine import pandas as pd import os import glob dirPath g…

深入浅出 Linux 中的 ARM IOMMU SMMU III

系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存&#xff0c;但最终会调到 DMA 子系统的 dma_alloc_coherent()/dma_alloc_attrs() 等接口。dma_alloc_coherent()/dma_alloc_attrs() 等接口通过 DMA IOMMU 的回调分配内存&#xff0c;并为经过 IOMMU 的 DMA 内…

十二、FreeRTOS之FreeRTOS任务相关API函数

本节需要掌握以下内容&#xff1a; 1&#xff0c;FreeRTOS任务相关API函数介绍&#xff08;熟悉&#xff09; 2&#xff0c;任务状态查询API函数实验&#xff08;掌握&#xff09; 3&#xff0c;任务时间统计API函数实验&#xff08;掌握&#xff09; 4&#xff0c;课堂总结…

视频分割方法:视频批量剪辑技巧,精准至秒高效分割

在视频编辑过程中&#xff0c;视频分割是一项基础但重要的步骤。对于许多初学者或非专业人士来说&#xff0c;视频分割可能是一项挑战。然而&#xff0c;随着技术的发展&#xff0c;现在有许多工具可以快速高效地进行视频分割。本文讲解云炫AI智剪如何一键分割视频&#xff0c;…

记住5个关键点,避免被身边人传染成胖子

在现代社会&#xff0c;肥胖已经成为一个全球性的疑难杂症。 越来越多的人为了减去身上的赘肉采取各种各样、五花八门的方法&#xff0c;但却发现收效甚微&#xff0c;总是抵挡不住各种各样的引诱&#xff0c;美食、游戏、聚餐、追剧&#xff0c;美食吃不到睡都睡不好&#xf…

【Unity动画】状态机中层的融合原理与用法详解

1. 状态机概念介绍 在Unity中&#xff0c;动画状态机&#xff08;Animator State Machine&#xff09;是一种强大的工具&#xff0c;用于控制游戏对象的动画行为。动画状态机由多个动画状态Animation和过渡条件Transition、层组成&#xff01;而层&#xff08;Layers&#xff…

抖音本地生活服务商申请入口在哪里?具体流程是怎样的?

不论是抖音的本地生活业务&#xff0c;还是后来的支付宝、视频号的本地生活业务&#xff0c;因为市场体量足够庞大&#xff0c;市场前景广阔&#xff0c;一直很受各大创业者的追捧。那么&#xff0c;如此火热的本地生活项目&#xff0c;想要申请成为服务商&#xff0c;具体的申…

五个轻量级免费 PDF 阅读器

便携式文档格式 (PDF) 是商业中最常用的文档类型之一。它们不仅是创建精心设计的文档的更通用的解决方案&#xff0c;而且还具有交互性和安全性。因此&#xff0c;对于寻求具有专业外观的文档的企业来说&#xff0c;PDF 是理所当然的选择。 当谈到查看这些文档时&#xff0c;大…

高等职业学校新媒体营销实训室解决方案

背景 随着数字化时代的来临&#xff0c;新媒体营销成为企业推广和品牌建设的关键手段。为了培养高职学生在新媒体领域的实际操作能力&#xff0c;建立一套全面、系统的实训室方案至关重要。 目标 搭建高职新媒体营销实训室&#xff0c;旨在培养学生的实际操作能力&#xff0…

微机原理11

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。) CPU 的数据总线提供&#xff08;&#xff09; A.数据信号流 B. 地址信号流 C.来自1O设备和存储器的响应信号 D.所有存储器和1/O设…

VirtualBox+Vagrant安装虚拟机

文章目录 一、下载Virtualbox和Vagrant1、下载2、安装 二、安装虚拟机1、新建目录D:\VirtualMachine2、执行vagrant init centos/7命令&#xff0c;就会在该目录下创建Vagrantfile文件3、执行vagrant up命令4、查看当前主机分给虚拟机的网关网段5、找到D:\VirtualMachine下的Va…

自定义一个简单的JDBC连接池实现方法(附代码演示)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍自定义一个简单的JDBC连接池实现方法以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问题可以在…