Regular Expression 正则表达式-3 (C++)

全面软件开发文档编写指南 在软件开发项目中,开发文档是沟通的桥梁,它不仅是团队内部理解和协作的工具,也是项目交付的重要组成部分。有效的文档记录了项目的背景、目标、设计决策以及实现细节,这些信息对项目的维护、扩展和质量保证至关重要。它为团队成员提供了项目相关知识的共享资源,有助于新成员快速融入和理解项目。 阅读详情

最后用C++实现了一把,因为STL中尚未包含Regular Expression,因此我使用了Boost中的Regex++。不过因为不是很熟悉,所以代码很蹩脚,将就看了。呵呵。

#include <string>
#include <boost/regex.hpp>
#include <iostream>
#include <fstream>

using namespace std;

void readFile( const char* filename, string& str );
void writeFile( const char* filename, const string str );
void filter( const string input, string& output );

int main(int argc, const char* argv[])
{
    if(
argc < 3 )
    {
        
cout<< "Please enter 2 filenames(e.g. In.txt Out.txt)" << endl;
        return
1;
    }
    
string strIn, strOut;

    
readFile( argv[1], strIn );
    
filter( strIn, strOut );
    
writeFile( argv[2], strOut );
}

void readFile( const char* filename, string& str )
{
    
ifstream in( filename );
    
str.erase();
    
str.reserve( in.rdbuf()->in_avail() );
    
string strTemp;
    while( !
in.eof() )
    {
        
in >> strTemp;
        
str.append(strTemp);
    }
    
in.close();
}

void writeFile( const char* filename, const string str )
{
    
ofstream out( filename );
    
out.write( str.c_str(), (streamsize)str.length() );
    
out.flush();
    
out.close();
}
void filter( const string input, string& output )
{
    
output.erase();
    
output.reserve( input.length() );

    
boost::regex expression("/"(//w+):(//w+)%(//w+)/"");
    
boost::smatch group;
    
boost::regex_constants::match_flag_type flags = boost::regex_constants::match_default;

    
string::const_iterator start, end;
    
start = input.begin();
    
end = input.end();

    while(
boost::regex_search( start, end, group, expression, flags ))
    {
        
output.append( group[1] );
        
output.append( ":" );
        
output.append( group[2] );
        
output.append( "*" );
        
output.append( group[3] );
        
output.append( "," );
        
output.append( "/n" );
        
// update
        
start = group[0].second;
        
flags |= boost::regex_constants::match_prev_avail;
        
flags |= boost::regex_constants::match_not_bob;
    }
    return;
}

软件开发全阶段文档模板合集 本文还有配套的精品资源,点击获取 简介:软件报告文档模板合集为IT行业软件开发提供了系统化文档模板,涵盖从需求到测试各个阶段。遵循国家计算机标准的模板旨在提升文档的专业性与一致性,确保开发流程高效且符合最佳实践。需求文档、详细设计文档、测试计划与报告、用户手册以及项目进度和状态报告模板,均旨在优化团队沟通、减少错误、提高产品质量和用户体验。 1. 软件报告文档模板... 阅读详情

相关推荐

软件开发生命周期的实践与文档并行性

本文探讨了软件开发生命周期中理论模型的适应性与修改,如螺旋模型在资源有限的小型项目中的应用,以及文档并行性的重要性。分析了项目中的角色分配、文档制作的必要性,以及如何克服对文档编写抵触情绪的借口。强调了项目经理在管理软件项目时需要认识到文档编写的重要性,并应将其视为开发过程的一个核心部分。

weixin_42601702的博客 400

regular_expression

本文将介绍 C++ 正则表达式的常见用法

qq_38413468的博客 1785

软件开发全流程标准化文档模板设计

简介:为了保证团队间的高效沟通、明确任务并确保项目的顺利进行,本模板详细覆盖了软件开发的每个关键步骤,从需求分析、系统设计到实施与部署、用户手册和维护更新。各个部分的文档如需求分析记录、系统架构蓝图、详细设计文件、编码规范、测试计划和部署说明等,共同构成了标准化的开发流程,有助于提高项目成功率。

weixin_42527589的博客 1319

正则表达式(regular expression)与C++中简单应用

正则表达式(regular expression)与C++中简单应用 正则表达式 https://regexper.com 图形化演示 https://c.runoob.com/front-end/854 测试 方便学习理解 正则表达式:普通字符(例如字符 a 到 z)+ 特殊字符(“元字符”)组成的文字模式。 普通字符: 原义字符:就是(不)想匹配的原样字符等等,包括 所有字母、所有数字、所...

zb12138的博客 601

C++11新特性(74)-正则表达式(regular-expression library)

正则表达式regular expression)是一种描述字符序列的方法,从C++11起,C++正则表达式库(regular-expression library)成为新标准库的一部分。 由于正则表达式本身就是一个非常庞大的系统,本文只介绍C++中使用正则表达式的小例子,浅尝辄止。 基本用法 代码说明 最基本的用法当然就是定义正则表达式,然后使用它。 代码中使用regex定义了一个...

面向对象思考 2382

c++11 <regex>正则表达式匹配

    #include #include #include //标准 using namespace std; int main() {     string str("This expression could match from A and beyond. [ expression  express ]");     strin

haohao1945的博客 1万+

python之正则及应用

测试正则表达式的一个重要网站下图展示了使用正则表达式进行匹配的流程: 正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。如果表达式中有量词或边界,这个过程会稍微有一些不同,但也是很好理解的,看下图中的示例以及自己多使用几次就能明白。1.2. 数量词的贪婪模式与非贪婪模式正则表达式通常用于在文本中查找匹配的字符串。P

AI蜗牛之家 1615

10种软件开发模型整理

准备整理一下软件模型,但是百度到都是零散信息,所以文章准备从概念、模型核心思想、优点、缺点、生命周期等体现各个软件模型 什么是软件模型 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种...

qq_21168173的博客 2万+

软件开发流程图文档图示下载仓库介绍:软件开发流程可视化工具

软件开发流程图文档图示下载仓库介绍:软件开发流程可视化工具 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代软件开发领域,高效的项目管理是确保项目按时交付、质量达标的关键。《软件开发流程图文档+图示》下载仓库提供了一个全面的资源,旨在帮助项目管理人员、开发人员及客户更好地掌握项目开发的全过程,从而提高工作效率和项目成功率。 项目技术分析 《软件开发流程图文档+图示...

gitblog_06722的博客 786

【亲测免费】 提升软件开发质量的必备指南:软件开发需求文档

提升软件开发质量的必备指南:软件开发需求文档 【下载地址】软件开发需求文档下载分享 软件开发需求文档下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/3...

gitblog_06688的博客 461

软件开发的技术文档文档编写标准:项目的核心功能/场景

软件开发的技术文档文档编写标准:项目的核心功能/场景 【下载地址】软件开发的技术文档文档编写标准 这份技术文档为软件开发提供了全面的设计指南,涵盖程序流程、组织结构、输入输出、接口设计、运行环境、数据结构及系统错误处理等关键内容。通过清晰的模块划分和详细的设计说明,帮助开发人员深入理解软件架构,确保开发过程高效且规范。无...

gitblog_06787的博客 1021

【亲测免费】 软件开发过程十三个文档:项目管理的全方位指南

软件开发过程十三个文档:项目管理的全方位指南 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在软件开发的世界里,项目的成功不仅仅依赖于代码的质量,更在于整个开发过程的系统化管理。为了帮助开发者更好地组织和管理软件开发项目,我们推出了“软件开发过程十三个文档”资源文件。这个资源文件包含了软件开发过程中所需的十三个关键文档,从项目的可行性研究到最终的软件维护,每一个环节都...

gitblog_09816的博客 1079

简单需求的小型设计文档

作为一名软件开发人员,尤其是外包软件行业的从业人员。在编码之前我们常常需要需求设计评审才能开始编码,而需要提供的用于评审的产出物就是设计文档,写一份好的设计文档,不仅仅是出于交付的需要更是后续项目维护的重要内容。

a929549977的博客 191

小型团队如何选缺陷管理系统?7个热门选择

本文将分享7款适合小型团队用的缺陷管理工具:PingCode、Worktile、禅道、TAPD、Teambition、Bugzilla、ClickUp。

柚橙论 979

软件标准化大纲模板-全套软件开发文档项目过程管理:简化软件开发流程,提升项目质量

软件标准化大纲模板-全套软件开发文档项目过程管理:简化软件开发流程,提升项目质量 去发现同类优质开源项目:https://gitcode.com/ 项目核心功能/场景 简化软件开发文档编写,规范项目过程管理。 项目介绍 软件开发是一个复杂且涉及多个阶段的过程,从需求分析到系统部署,每个环节都需要详尽的文档支持。软件标准化大纲模板 - 全套软件开发文档项目过程管理 是一个旨在简化这一流程的开源项目,...

gitblog_06701的博客 426

软件开发文档模板集合:项目核心功能/场景

软件开发文档模板集合:项目核心功能/场景 去发现同类优质开源项目:https://gitcode.com/ 软件开发文档模板集合,助力高效文档编写。 项目介绍 在软件开发过程中,编写文档是一项至关重要的任务。它不仅有助于项目团队成员之间的沟通,还确保了项目需求的明确和开发进度的透明。软件开发文档模板集合正是一个为此而生的开源项目。它提供了一个全面的文档模板集合,覆盖软件开发周期中的各个关键阶段,从...

gitblog_06777的博客 355

NASA小型卫星运载模拟器:NOS3

NASA小型卫星运载模拟器:NOS3 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 NASA的Operational Simulator for Small Satellites(NOS3)是由Katherine Johnson独立验证和验证(IV&V)设施开发的一组工具,专为软件开发、集成与测试(I&T)、任务操作/训练、验证和验证(V&V)...

gitblog_00073的博客 813
上一篇: Regular Expression 正则表达式-2 (Java)
下一篇: Regular Expression 正则表达式-4 (C++)
DanceFire
博客等级 码龄25年 91粉丝 42原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值