c++,正则
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++,正则相关的知识,希望对你有一定的参考价值。
#包含 <io流>
#包含 <步>
#包含 <串>
#包含 <正则>
整 主()
{
串 s = "一些 人们, 当 面对 带 a 问题, 想 "
"\"I 知道, I'll 用 规则 式.\" "
"现在 他们 有 两个 问题.";
正则 本正则("规则 表达式",
正则常量::欧计脚本 | 正则常量::i若);
如 (正则搜索(s, 本正则)) {
输出 << "文字 包含 这 短语 '规则 式'\n";
}
正则 字正则("(\\w+)");
动 单词头 =
串正则步(s.开始(), s.尾(), 字正则);
动 单词尾 = 串正则步();
输出 << "找 "
<< 距离(单词头, 单词尾)
<< " 单词\n";
常 整 N = 6;
输出 << "单词 更长 比 " << N << " 字符:\n";
对 (串正则步 i = 单词头; i != 单词尾; ++i) {
s匹配 匹配 = *i;
串 匹配串 = 匹配.串();
如 (匹配串.大小() > N) {
输出 << " " << 匹配串 << '\n';
}
}
正则 长字正则("(\\w{7,})");
串 新s = 正则替换(s, 长字正则, "[$&]");
输出 << 新s << '\n';
}
文字 包含 这 短语 '规则 式'
找 20 单词
单词 更长 比 6 字符:
面对
问题
规则
式
问题
一些 人们, 当 [面对] 带 a [问题], 想
"I 知道, I'll 用 [规则] [式]." 现在 他们 有 两个 [问题].
#包含 <io流>
#包含 <串>
#包含 <正则>
整 主()
{
串 串 = "zzxayyzz";
正则 re1(".*(a|xayy)"); // 欧计协
正则 re2(".*(a|xayy)", 标::正则::扩展); // 可移口
输出 << "搜索 对 .*(a|xayy) 在 zzxayyzz:\n";
s匹配 m;
正则搜索(串, m, re1);
输出 << " 欧计协 (深度 第一 搜索) 匹配: " << m[0] << '\n';
正则搜索(串, m, re2);
输出 << " 可移口 (最左边 最长) 匹配: " << m[0] << '\n';
}
搜索 对 .*(a|xayy) 在 zzxayyzz:
欧计协 (深度 第一 搜索) 匹配: zzxa
可移口 (最左边 最长) 匹配: zzxayy
以上是关于c++,正则的主要内容,如果未能解决你的问题,请参考以下文章