当前位置: 首页 > news >正文

网站建设费会计账务处理企业信息管理系统官网

网站建设费会计账务处理,企业信息管理系统官网,重庆网络公司产品设计,企业展示厅设计效果图C11 新增了正则表达式的标准库支持#xff0c;本文简介 C 正则表达式的使用在 C 中使用正则表达式#xff0c;和其它语言差别不大int main() {regex e(abc*);bool m regex_search(abccc, e);// 输出 yescout (m ? yes : 11 新增了正则表达式的标准库支持本文简介 C 正则表达式的使用在 C 中使用正则表达式和其它语言差别不大int main() {regex e(abc*);bool m regex_search(abccc, e);// 输出 yescout (m ? yes : no) endl; } C11 自带了 6 种正则表达式语法的支持ECMAScriptbasicextendedawkgrepegrepC11 默认使用 ECMAScript 语法这也是 6 种语法中最强大的假如想使用其他 5 种语法只需在声明 regex 对象时指定即可regex e(^a., regex_constants::grep); 假如我们不仅仅想知道一个正则表达式是否匹配一个字符串我们还想要提取出匹配的部分例如我们需要从邮箱中提取用户名和网址就需要用到 match_resultsint main() {string str(Email abc.com abc);// 等同于 match_resultsstringsmatch m; regex e(([[:w:]])([[:w:]].com));bool found regex_search(str, m, e);// m.size3, 存储了 3 个 resultcout m.size m.size() endl;/* 迭代 match_results, 输出m[0]abc.com (整个匹配)m[1]a (第1个group)m[2]bc.com (第2个group)*/for (int n0; nm.size(); n){cout m[ n ] m[n].str() endl;//等价写法 m.str(n), *(m.begin()n) }// m.prefixEmailcout m.prefix m.prefix().str() endl;// m.suffix is minecout m.suffix m.suffix().str() endl; } 假如我们想要匹配的字符串中有多个子串都可以匹配正则表达式并且我们想把这些子串全部找出来例如一个字符串中包含多个邮箱地址那么就需要用到 regex_iteratorint main() {string str(abc.com, def.com, aab.com);regex e(([[:w:]])([[:w:]].com));sregex_iterator pos(str.cbegin(), str.cend(), e); // 定义 regex_iteraror// C惯例: 默认构造的迭代器表示序列结束sregex_iterator end;/* emailabc.com, usera, domainbc.com emaildef.com, userd, domainef.com emailaabb.com, useraa, domainb.com */for (; pos!end; pos) {cout email pos-str(0) , user pos-str(1) , domain pos-str(2) endl;} } 如上我们可以看到regex_iterator 其实就是迭代字符串中所有正则表达式匹配的 match_results。除此之外C 还提供了另一种跌到器, regex_token_iterator。不同的是regex_token_iterator 迭代的是所有正则表达式匹配中的指定子表达式或迭代未匹配的子字符串int main() {string str(abc.com, def.com, aabb.com);regex e(([[:w:]])([[:w:]].com));sregex_token_iterator pos(str.cbegin(), str.cend(), e); // 定义regex_token_iteratorsregex_token_iterator end; //序列结束/*Matched: abc.comMatched: def.comMatched: aabb.com*/for (; pos!end; pos) {cout Matched: *pos endl;} } 我们可以修改 pos 的定义使它每次迭代 match_results 的第 2 个 group// 第 4 个参数表示第几个 group sregex_token_iterator pos(str.cbegin(), str.cend(), e, 2 ); 值得注意的是如果我们把这里的参数设为 -1则迭代字符串中所有不匹配正则表达式的部分相当于用正则表达式切割字符串int main() {string str(a bb cd);regex e(s); // 匹配空格// 迭代不匹配正则表达式的部分sregex_token_iterator pos(str.cbegin(), str.cend(), e, -1);sregex_token_iterator end;/*Matched: aMatched: bbMatched: cd*/for (; pos!end; pos) {cout Matched: *pos endl;} } 正则表达式还有一个常用的场景——字符串替换。C 中我们可以使用 regex_replaceint main() {string str(abc.com, def.com, aabb.com);regex e(([[:w:]])([[:w:]].com));cout regex_replace(str, e, $1 is on $2); } 输出为a is on bc.com, d is on ef.com, aa is on bb.com本文主要翻译自 Bo Qian 的 YouTube 视频C 11 Library: Regular Expression 1​youtu.beC 11 Library: Regular Expression 2 -- Submatch​youtu.beC 11 Library: Regular Expression 3 -- Iterators​youtu.be
http://www.pierceye.com/news/838292/

相关文章:

  • 国内wordpress有名的网站河南住房和城乡建设厅网站资质
  • 湛江seo建站wordpress5.1更新
  • 泊头公司做网站做网站价格差异很大
  • 网站开发啊wordpress 图片本地化
  • 尚品中国多年专注于高端网站建设免费加盟无需店面
  • 游标卡尺 东莞网站建设wordpress 域名解析
  • 站长工具视频怎么开免费网站
  • 网站地址怎么申请注册最近新闻大事
  • interidea 做网站网站域名备案 更改
  • 哈尔滨公司做网站动画设计的大学排名
  • 网站建设与网页制作试卷网站搜索引擎优化推广
  • 网站子目录设计网站开发数据库技术
  • 可以做音基题的音乐网站上海网站设计公司有哪些
  • 昆明做网站公司做家居的网站
  • 网站建设首选易网宣软文代发
  • 手机版网站开发用什么语言自己建设的网站怎么赚钱
  • 宁波建设监理协会网站软件开发文档的作用
  • 兰州电商平台网站建设网路神做网站怎么样
  • 诸城易讯网站建设服务中心网址的域名
  • 制作商务网站应用公园制作app软件下载
  • 情头定制网站被称为网站开发神器
  • 宝安网站设计案例淘宝页面制作
  • 天津品牌网站制作怎样建设网站流程
  • 怎样进行公司网站建设wordpress主题公司
  • 外宣做网站宣传网站功能描述
  • 部队网站建设多少钱营销自己的网站
  • 长春市城乡建设部网站南昌诚推网络技术有限公司
  • 网站 建设 欢迎你濮阳家电网站建设
  • 怎么快速建立一个网站如何用腾讯云服务器搭建wordpress
  • 五屏网站建设多少钱深圳网站公司有哪些