VC++正则表达式测试器是一个主要适用于C++编程环境,正则表达式是一种对字符进行模糊匹配的一个公式。在数据有效性验证,查找,替换文本中都可以使用正则表达式 。
当然其它语言环境也可以用,不过有时候会不准确,因为发现.NET中有许多的正则表达式调试器,但却没有发现适合于C++的,所以自己就用C++编写了一个正则测试小工具,调用了pcre.dll,测试器运行效果请参见截图。
VC++中如何使用正则表达式:
VC2010中可以很方便的使用正则表达式,而无需使用第三方库:
#include <regex>
using namespace std;
加个头文件
string str="要匹配的字符串";
const regex szReg1( "device\\x20+([^\\n\\20]");
smatch results;
std::string::const_iterator it=str.begin();//取头 std::string::const_iterator end=str.end();//取尾
vector<string> vl; if (regex_search(str,results,szReg1)) { while (regex_search(it,end,results,szReg1)) { vl.push_back(results[1]);//这里就得到分组1 it=results[0].second; }
}
VC正则表达式摘录:
字符元 |
意义 |
. |
匹配单个字符 |
[ ] |
指定一个字符类,匹配方括号内的任意字符。例:[abc] 匹配 "a", "b"或 "c"。 |
^ |
如果^出现在字符类的开始处,它否定了字符类,这个被否定的字符类匹配除却方括号内的字符的字符。如:[^abc]匹配除了"a", "b"和"c"之外的字符。如果^出现在正则表达式前边,它匹配输入的开头,例:^[abc]匹配以"a", "b"或"c"开头的输入。 |
- |
在字符类中,指定一个字符的范围。例如:[0-9]匹配"0"到"9"的数字。 |
? |
指明?前的表达式是可选的,它可以匹配一次或不进行匹配。例如: [0-9][0-9]? 匹配"2"或"12"。 |
+ |
指明?前的表达式匹配一次或多次。例如:[0-9]+匹配"1", "13", "666"等。 |
* |
指明*前的表达式匹配零次或多次。 |
??, +?, *? |
?, +和*的非贪婪匹配版本,它们尽可能匹配较少的字符;而?, +和*则是贪婪版本,尽可能匹配较多的字符。例如:输入"<abc><def>", 则<.*?> 匹配"<abc>",而<.*>匹配"<abc><def>"。 |
( ) |
分组操作符。例如:(/d+,)*/d+匹配一串由逗号分开的数字,例如: "1"或"1,23,456"。 |
/ |
转义字符,转义紧跟的字符。例如,[0-9]+ 匹配一个或多个数字,而 [0-9]/+ 匹配一个数字后跟随一个加号的情况。反斜杠/也用于表示缩写,/a 就表示任何数字、字母。如果/后紧跟一个数字n,则它匹配第n个匹配群组(从0开始),例如,<{.*?}>.*?<//0>匹配"<head>Contents</head>"。注意,在C++字符串中,反斜杠/需要用双反斜杠//来表示: "//+", "//a", "<{.*?}>.*?<///0>"。 |
$ |
放在正则表达式的最后,它匹配输入的末端。例如:[0-9]$匹配输入的最后一个数字。span> |
| |
间隔符,分隔两个表达式,以正确匹配其中一个,例如:T|the匹配"The" 或"the"。 |
缩写匹配
缩写 |
匹配 |
/a |
字母、数字([a-zA-Z0-9]) |
/b |
空格(blank): ([ //t]) |
/c |
字母([a-zA-Z]) |
/d |
十进制数 ([0-9]) |
/h |
十六进制数([0-9a-fA-F]) |
/n |
换行: (/r|(/r?/n)) |
/q |
引用字符串(/"[^/"]*/")|(/''''[^/'''']*/'''') |
/w |
一段文字 ([a-zA-Z]+) |
/z |
一个整数([0-9]+) |
同类佳作
-
- DBSync for Firebird and MSSQL(数据库同步软件) V2.1.5 电脑破解版 下载
- 7.8万 | 22.8 MB
- 是一款非常优秀的数据库同步软件
-
- TablePlus(数据库编辑器) V1.0.0.0 电脑版 下载
- 5.9万 | 43 MB
- 是一款安全可靠的高性能数据库
-
- SQL Maestro for MySQL(MySQL数据库管理器) V17.5.0.6 电脑版 下载
- 7.8万 | 19.2 MB
- 是一款非常好用的MySQL数据库
-
- MongoToFile V1.6 安卓版 下载
- 8.8万 | 6.8 MB
- 是一款专业实用的MongoDB导出
-
- DbVisualizer Pro(数据库管理工具) V10.0.17 电脑破解版 下载
- 2.7万 | 68.1 MB
- 是一款各方面都比较出色的数据
-
- XlsToDB2 V3.1 电脑版 下载
- 9.1万 | 7.5 MB
- 是一款非常优秀且界面简洁的数
-
- SQL替换程序 v1.0 绿色免费版 下载
- 1.万 | 305 KB
- SQL替换程序
-
- SQL数据库修复软件大师之病毒数据库恢复 v10.3 官方版 下载
- 6.3万 | 5.8 MB
- SQL数据库修复软件大师之病毒
近期新游
精选专题
话题问答
- 2022-06-24金铲铲之战驯龙敖兴阵容玩法攻略
- 2022-06-24金铲铲之战九星界龙阵容玩法攻略
- 2022-06-24金铲铲之战重骑熊阵容玩法攻略
- 2022-06-24原神久岐忍邀约任务攻略
- 2022-06-26数码宝贝新世纪番长飞虫兽天赋加点推荐
- 2022-06-24阴阳师百鬼乱狱第四关通关攻略
- 2022-06-24王者荣耀戈娅玩法攻略
- 2022-06-26金铲铲之战s7泥头车阵容攻略
- 2022-06-24堆叠大陆第三章玩法攻略
- 2022-06-23哈利波特魔法觉醒染发魔药制作攻略
火爆专区
最新资讯
-
- 光遇11.22季节蜡烛在哪里
- 2162024-11-22
-
- 《刺客信条:影》对潜行玩法进行彻底革新 更令人兴奋
- 372024-11-22
-
- 《坏蛋联盟2》首爆预告 原班人马爆笑回归
- 1652024-11-22
-
- 《黑神话:悟空》加入PS Plus三档会员试玩名单 最多试玩2小时
- 1682024-11-22
-
- 《终极闪光》开发商Heart Machine裁员 新作不受影响
- 2612024-11-22
-
- 桃源深处有人家琅环画阁有什么彩蛋
- 2102024-11-22
-
- 职业小课堂:“ 数智技术”指的是以下哪两项技术的融合
- 2922024-11-22
-
- 金融小常识:以下哪种资本形式主要专注于长期投资
- 1792024-11-22