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

江苏网站集约化建设个人承包工程合同范本

江苏网站集约化建设,个人承包工程合同范本,Wordpress编辑主页页面,专门做有机食品的网站正则表达式库 说明: 如果以前懂正则, 那么regex就只是了解语法, 和cpp的差异; 头文件 #include regex参考链接 https://en.cppreference.com/w/cpp/regex 几大要素 被匹配串: 字符串, 三种指定方式 – 迭代器, \0结尾的字符串, std::string;匹配正则: std::basic…正则表达式库 说明: 如果以前懂正则, 那么regex就只是了解语法, 和cpp的差异; 头文件 #include regex参考链接 https://en.cppreference.com/w/cpp/regex 几大要素 被匹配串: 字符串, 三种指定方式 – 迭代器, \0结尾的字符串, std::string;匹配正则: std::basic_regex类型, std::regex则是std::basic_regexchar的别名;匹配结果: std::match_results;替换表达式: 字符串, 决定如何对匹配内容进行替换; 正则和结果 正则表达式类: std::basic_regex 匹配结果类: std::match_results 匹配结果组: ()生成的组std::sub_match, 继承自std::pair, 存储一对迭代器, 而不是string; std::match_results::begin使用; 关联算法 regex_match: 正则匹配整个字符串; regex_search: 正则匹配子串; regex_replace: 将匹配内容按照指定规则进行替换; 迭代器 regex_iterator: 规则搜索所有匹配串; regex_token_iterator: 迭代所有组; 异常 regex_error: 正则表达式非法 选项 syntax_option_type: 使用正则版本, 是否区分大小写之类; match_flag_type: 匹配行为控制 正则表达式 类的声明 templateclass CharT,class Traits std::regex_traitsCharTclass basic_regex;CharT数据类型; typedef std::regex std::basic_regexchar std::wregex std::basic_regexwchar_t常用的regex就是别名; 构造 构造函数 // 默认构造 basic_regex(); // (1) (since C11)// 使用 \0 结尾的字符串作为正则表达式, f 表示使用正则方案, egrep, extended, ecmascript 等 explicit basic_regex(const CharT *s,flag_type f std::regex_constants::ECMAScript); // (2) (since C11)// 使用字符串 s 的前 n 个作为正则, (aa)bcd, 4 即 (aa) 作为正则 basic_regex(const CharT *s, std::size_t count,flag_type f std::regex_constants::ECMAScript); // (3) (since C11)// 拷贝其他正则; basic_regex(const basic_regex other); // (4) (since C11)// 右值运算, 清空 other 正则; basic_regex(basic_regex other) noexcept; // (5) (since C11)// basic_string类型, 并萃取其基本类型; 常用 std::string 即 std::basic_stringchar template class ST, class SA explicit basic_regex(const std::basic_stringCharT, ST, SA str,flag_type f std::regex_constants::ECMAScript); // (6) (since C11)// 使用迭代器进行初始化; template class ForwardIt basic_regex(ForwardIt first, ForwardIt last,flag_type f std::regex_constants::ECMAScript); // (7) (since C11)// 使用列表进行初始化; {a, b, c}; 这种; basic_regex(std::initializer_listCharT init,flag_type f std::regex_constants::ECMAScript); //(8) (since C11)异常: 构造函数可能抛出异常 1. 可能异常, 和实现有关 2. std::regex_error 如果正则非法就会抛出; 3. std::regex_error 如果正则非法就会抛出; 4. 可能异常, 和实现有关 5. 可能异常, 和实现有关 6. std::regex_error 如果正则非法就会抛出; 7. std::regex_error 如果正则非法就会抛出; 8. std::regex_error 如果正则非法就会抛出;正则完全匹配 被匹配串是否完全匹配整个正则表达式 构造 函数原型: 返回值是否匹配, (链表 指针 std::sring) * (返回结果 不返回结果) 6 种, 1 delte 类型; // BidirIt 双向链表; // [first, last) 指定搜索串; // m 获取搜索结果 // e 正则表达式对象 // flags 匹配额外补充 template class BidirIt,class Alloc, class CharT, class Traits bool regex_match(BidirIt first, BidirIt last,std::match_resultsBidirIt, Alloc m,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(1) (since C11)// 和 (1) 类似, 但是不要结果 template class BidirIt,class CharT, class Traits bool regex_match(BidirIt first, BidirIt last,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(2) (since C11)// 字符串指定匹配串, 输出结果到 m template class CharT, class Alloc, class Traits bool regex_match(const CharT *str,std::match_resultsconst CharT *, Alloc m,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(3) (since C11)// std::string 类型, 输出结果到 m template class STraits, class SAlloc,class Alloc, class CharT, class Traits bool regex_match(const std::basic_stringCharT, STraits, SAlloc s,std::match_resultstypename std::basic_stringCharT, STraits, SAlloc::const_iterator,Alloc m,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(4) (since C11)// 字符串指定匹配串, 不输出结果; template class CharT, class Traits bool regex_match(const CharT *str,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); // (5) (since C11)// std::string 指定匹配串, 不输出结果; template class STraits, class SAlloc,class CharT, class Traits bool regex_match(const std::basic_stringCharT, STraits, SAlloc s,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(6) (since C11)// 临时的 string 对象不支持; 即右值; template class STraits, class SAlloc,class Alloc, class CharT, class Traits bool regex_match(const std::basic_stringCharT, STraits, SAlloc ,std::match_resultstypename std::basic_stringCharT, STraits, SAlloc::const_iterator,Alloc ,const std::basic_regexCharT, Traits ,std::regex_constants::match_flag_type flags std::regex_constants::match_default) delete; //(7) (since C11)返回值 函数返回值 true匹配, false不匹配 std::match_results: 执行后不管成功与否都会修改; # If the match does not exist: m.ready() true m.empty() true m.size() 0 # If the match exists: m.ready() true m.empty() false m.size() number of marked subexpressions plus 1, that is, 1 e.mark_count()# 用迭代器表示匹配部分前的结果; 比字符串或std::string更灵活; m.prefix().first first m.prefix().second first m.prefix().matched false (the match prefix is empty)# 匹配的后面字符串 m.suffix().first last m.suffix().second last m.suffix().matched false (the match suffix is empty)# 0 表示整个串 m[0].first first m[0].second last m[0].matched true (the entire sequence is matched)# n 0 则表示第 n 个组; m[n].first the start of the sequence that matched marked sub-expression n, or last if the subexpression did not participate in the match m[n].second the end of the sequence that matched marked sub-expression n, or last if the subexpression did not participate in the match m[n].matched true if sub-expression n participated in the match, false otherwise# 具体可了解 match_results 类, 重载了 operator , 可以直接输出;正则搜索 声明 // BidirIt 双向链表 // 使用 frist, last 提供的字符串, e 的正则, m 输出结果 templateclass BidirIt,class Alloc, class CharT, class Traits bool regex_search(BidirIt first, BidirIt last,std::match_resultsBidirIt, Alloc m,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(1) (since C11)// 同一, 使用字符串指定; template class CharT, class Alloc, class Traits bool regex_search(const CharT *str,std::match_resultsconst CharT *, Alloc m,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(2) (since C11)// 同上使用 std::string 指定字符串 template class STraits, class SAlloc,class Alloc, class CharT, class Traits bool regex_search(const std::basic_stringCharT, STraits, SAlloc s,std::match_resultstypename std::basic_stringCharT, STraits, SAlloc::const_iterator,Alloc m,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(3) (since C11)// 同一, 但不输出结果 template class BidirIt,class CharT, class Traits bool regex_search(BidirIt first, BidirIt last,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(4) (since C11)// 同二, 但不输出结果 template class CharT, class Traits bool regex_search(const CharT *str,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(5) (since C11) template class STraits, class SAlloc,class CharT, class Traits// 同三, 但不输出结果 bool regex_search(const std::basic_stringCharT, STraits, SAlloc s,const std::basic_regexCharT, Traits e,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(6) (since C11)// 同三, 不支持右值; template class STraits, class SAlloc,class Alloc, class CharT, class Traits bool regex_search(const std::basic_stringCharT, STraits, SAlloc ,std::match_resultstypename std::basic_stringCharT, STraits, SAlloc::const_iterator,Alloc ,const std::basic_regexCharT, Traits ,std::regex_constants::match_flag_type flags std::regex_constants::match_default) delete; //(7) (since C11) 返回结果: m If the match does not exist: m.ready() true m.empty() true m.size() 0 If the match exists: m.ready() true m.empty() false m.size() number of marked subexpressions plus 1, that is, 1 e.mark_count() m.prefix().first first m.prefix().second m[0].first m.prefix().matched m.prefix().first ! m.prefix().second m.suffix().first m[0].second m.suffix().second last m.suffix().matched m.suffix().first ! m.suffix().second m[0].first the start of the matching sequence m[0].second the end of the matching sequence m[0].matched true m[n].first the start of the sequence that matched marked sub-expression n, or last if the subexpression did not participate in the match m[n].second the end of the sequence that matched marked sub-expression n, or last if the subexpression did not participate in the match m[n].matched true if sub-expression n participated in the match, false otherwise正则替换 声明 // OutputIt 输出迭代器, 并输出首地址; // BidirIt 双向链表 // 使用 frist, last 提供的字符串, re 的正则 // fmt 使用 std::string 指定 template class OutputIt, class BidirIt,class Traits, class CharT,class STraits, class SAlloc OutputIt regex_replace(OutputIt out, BidirIt first, BidirIt last,const std::basic_regexCharT, Traits re,const std::basic_stringCharT, STraits, SAlloc fmt,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(1) (since C11)// 同上 fmt 用 字符串指定; template class OutputIt, class BidirIt,class Traits, class CharT OutputIt regex_replace(OutputIt out, BidirIt first, BidirIt last,const std::basic_regexCharT, Traits re,const CharT *fmt,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(2) (since C11)// 同一: 输出结果为字符串而不是迭代器; // fmt 用 std::string 指定; template class Traits, class CharT,class STraits, class SAlloc,class FTraits, class FAlloc std::basic_stringCharT, STraits, SAlloc regex_replace(const std::basic_stringCharT, STraits, SAlloc s,const std::basic_regexCharT, Traits re,const std::basic_stringCharT, FTraits, FAlloc fmt,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(3) (since C11)// 同上, fmt 用字符串指定; template class Traits, class CharT,class STraits, class SAlloc std::basic_stringCharT, STraits, SAlloc regex_replace(const std::basic_stringCharT, STraits, SAlloc s,const std::basic_regexCharT, Traits re,const CharT *fmt,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(4) (since C11)// s 用 字符串指定, 输出为 basic_string, fmt 为 std::basic_string template class Traits, class CharT,class STraits, class SAlloc std::basic_stringCharT regex_replace(const CharT *s,const std::basic_regexCharT, Traits re,const std::basic_stringCharT, STraits, SAlloc fmt,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(5) (since C11)// 同上, fmt用 字符串指定; template class Traits, class CharT std::basic_stringCharT regex_replace(const CharT *s,const std::basic_regexCharT, Traits re,const CharT *fmt,std::regex_constants::match_flag_type flags std::regex_constants::match_default); //(6) (since C11)差异点: 替换主串: 迭代器, std::basic_string, CharT 型;fmt格式: std::basic_string, CharT; fmt 说明 $ or $0 is used to insert the whole regex match. #include regex #include iostreamint main () {std::cout std::regex_replace(hello, im xiaoli, std::regex(.), $0!!) std::endl; }$ g test.cpp ./a.out hello, im xiaoli!!$1, $2, … up to $9 is used to insert the text matched by the first nine capturing groups. #include regex #include iostreamint main () {std::cout std::regex_replace(hello, im xiaoli, std::regex((hello, im )(\\w)), $1 xiaowang) std::endl; }$ g test.cpp ./a.out hello, im xiaowang$ (back-tick) is used to insert the string that is left of the match. #include regex #include iostreamint main () {std::cout std::regex_replace(hello, im xiaoli, std::regex(), \n$\n) std::endl; }即正则表达式匹配串(不包含匹配字符串本身)左边的内容; $ hello, i$ g test.cpp ./a.out hello, i hello, i m xiaoli$’ (quote) is used to insert the string that is right of the match. #include regex #include iostreamint main () {std::cout std::regex_replace(hello, im xiaoli, std::regex(), \n$\n) std::endl; }同样的道理, 是去除匹配串后的右边串; $ g test.cpp ./a.out hello, i m xiaoli m xiaoliIf number of capturing group is less than the requested, then that will be replaced by nothing. 参考链接 https://www.geeksforgeeks.org/regex_replace-in-cpp-replace-the-match-of-a-string-using-regex_replace/ regex_iterator 和regex_search一样; 只是match_results变为iter; 只输出匹配 案例 #include iostream #include iterator #include regex #include stringint main() {const std::string s Quick brown fox.;std::regex words_regex([^\\s]);auto words_begin std::sregex_iterator(s.begin(), s.end(), words_regex);auto words_end std::sregex_iterator();std::cout Found std::distance(words_begin, words_end) words:\n;for (std::sregex_iterator i words_begin; i ! words_end; i){std::smatch match *i;std::string match_str match.str();std::cout match_str \n;} }Found 3 words: Quick brown fox.regex_token_iterator 说明: 只获取组 案例 #include algorithm #include fstream #include iostream #include iterator #include regexint main() {// Tokenization (non-matched fragments)// Note that regex is matched only two times; when the third value is obtained// the iterator is a suffix iterator.const std::string text Quick brown fox.;const std::regex ws_re(\\s); // whitespacestd::copy(std::sregex_token_iterator(text.begin(), text.end(), ws_re, -1),std::sregex_token_iterator(),std::ostream_iteratorstd::string(std::cout, \n));std::cout \n;// Iterating the first submatchesconst std::string html R(pa hrefhttp://google.comgoogle/a )R( a HREF http://cppreference.comcppreference/a\n/p);const std::regex url_re(R!!(\s*A\s[^]*href\s*\s*([^]*))!!, std::regex::icase);std::copy(std::sregex_token_iterator(html.begin(), html.end(), url_re, 1),std::sregex_token_iterator(),std::ostream_iteratorstd::string(std::cout, \n)); }Quick brown fox.http://google.com http://cppreference.com
http://www.yutouwan.com/news/497483/

相关文章:

  • 手机端网站建设的费用清单东莞网络推广
  • 北京网站优化软件公司湖南建设网塔吊证查询
  • 返利网站程序哪些网站做物流推广比较好
  • 互联网网站开发html5企业营销策划及推广
  • 被墙网站查询企业网站制作比较好的
  • 怎么做整人网站wordpress怎么设置后台权限
  • 金山专业做网站交易网站怎么做
  • 做网站怎样上传文件西海岸建设局网站
  • 怎么做淘宝联盟网站ks数据分析神器
  • 国外室内设计网站推荐宝塔做的网站怎么就可以进去了
  • app开发制作平台网站建设wordpress模板页面怎么添加图片
  • 建一个免费网站郑州响应式网站
  • 网站首页结构图wordpress重复链接
  • 网站建设包括哪些方面cad培训班一般学费多少钱
  • 山东聊城网站建设易捷商城小程序
  • 谁做网站做的比较可信哪个网站可以做字体
  • 叫别人做网站要多久外贸公司销售渠道
  • 做网站和微信公众号如何招生专业进出口贸易网站
  • 宇宙设计网站推荐seo公司怎么样
  • 建设工程竣工验收消防备案网站网站域名备案需要什么
  • 参考文献网站开发南宁品牌网站设计公司
  • 站内免费推广有哪些公司网站一般是怎么做
  • 大连三丰建设集团公司网站网站建制作
  • 莞城做网站公司吉林省建设监理检测网站
  • 怎么做网站链接苏州市住建局官网
  • seo教程网站长洲网站建设
  • 免费自己制作网站教程企业制作小程序
  • 网站常用代码邢台手机网站建设
  • 诚讯通网站电商网站开发重难点
  • 高端模板网站建设公司seo网站建设优化