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++,正则的主要内容,如果未能解决你的问题,请参考以下文章

c语言实现正则表达式匹配

正则表达式的replace不起作用?

C#?正则表达式

[C/C++11]_[初级]_[使用正则表达式库regex]

正则表达式替换特殊符号(高分)

C#--正则表达式