|
DEELX 正则引擎编程示例:判断电子邮件
判断一个字符串是否是一个合法的电子邮件地址。
表达式
^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$ |
方法
MatchExact
代码
#include "deelx.h"
int test_email(const char * string)
{
// declare, you can use
'static' if your regex does not change
CRegexpT <char> regexp("^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\\w]*[0-9a-zA-Z])*\\.)+[a-zA-Z]{2,9})$");
// test
MatchResult result = regexp.MatchExact(string);
// matched or not
return result.IsMatched();
}
int main(int argc, char * argv[])
{
char * str1 = "bob@smith.com";
char * str2 = "bob@.com";
printf("'%s' => %s\n", str1, (test_email(str1) ? "yes" : "no"));
printf("'%s' => %s\n", str2, (test_email(str2) ? "yes" : "no"));
return 0;
} |
|
|
|