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]+) |






















大小: 8KB
大小: 89.5M
终端仿真器 SecureCRTv7.1.1.264 最新版
串口调试小助手1.3 免费版
WinHex 十六进制编辑器v20.2 SR-5 绿色中文注册版
小旋风ASP服务器安装版
16进制转换工具V1.0 中文绿色版
Adobe AIRV33.1.1.932 官方最新版
github离线安装包64位版V2.9.11官方最新版(github desktop)
MSDN Library Visual Studio 6.0(VC、VB、VF、VJ)中文版win32开发人员必备
版本控制软件(SourceTree)v3.4.6 官方最新版
Memory Analyzer (MAT)V1.01 免费绿色版
Delphi Distillerv1.85绿色版
IBM内存检测工具(IBM Thread and Monitor Dump Analyzer for Java)V4.3.3 绿色版
.NETv3.0 可再发行组件包
一键安装JSP环境安装版
slave4j(基于eclipse插件的java代码生成器)V1.0.0 正式版
Auto DebugProfessional 5.6.5.18 中文绿色版
Understand For C++V1.4.319英文安装版