代码
#if
0
//
整数
match_results results;
tstring str( " f34 " );
rpattern pat( " ^[+|-]?\\d+\\d*$ " );
match_results::backref_type br = pat.match(str, results);
if (br.matched)
{
tcout << " match " << std::endl;
}
else
{
tcout << " not match " << std::endl;
}
#endif
#if 0 // 正整数
match_results results;
tstring str( " +323f444 " );
rpattern pat( " ^[+]?\\d+\\d*$ " );
match_results::backref_type br = pat.match(str, results);
if (br.matched)
{
tcout << " match " << std::endl;
}
else
{
tcout << " not match " << std::endl;
}
#endif
#if 0 // 浮点数
match_results results;
tstring str( " -3.23444 " );
rpattern pat( " ^[+|-]?[0-9]+\\.?[0-9]+$ " ); // ^\-?[0-9]*\.?[0-9]*$
match_results::backref_type br = pat.match(str, results);
if (br.matched)
{
tcout << " match " << std::endl;
}
else
{
tcout << " not match " << std::endl;
}
#endif
#if 0 // 字母
match_results results;
tstring str( " .asdf " );
rpattern pat( " ^[a-z]*$ " ); // ^\-?[0-9]*\.?[0-9]*$
match_results::backref_type br = pat.match(str, results);
if (br.matched)
{
tcout << " match " << std::endl;
}
else
{
tcout << " not match " << std::endl;
}
#endif
match_results results;
tstring str( " f34 " );
rpattern pat( " ^[+|-]?\\d+\\d*$ " );
match_results::backref_type br = pat.match(str, results);
if (br.matched)
{
tcout << " match " << std::endl;
}
else
{
tcout << " not match " << std::endl;
}
#endif
#if 0 // 正整数
match_results results;
tstring str( " +323f444 " );
rpattern pat( " ^[+]?\\d+\\d*$ " );
match_results::backref_type br = pat.match(str, results);
if (br.matched)
{
tcout << " match " << std::endl;
}
else
{
tcout << " not match " << std::endl;
}
#endif
#if 0 // 浮点数
match_results results;
tstring str( " -3.23444 " );
rpattern pat( " ^[+|-]?[0-9]+\\.?[0-9]+$ " ); // ^\-?[0-9]*\.?[0-9]*$
match_results::backref_type br = pat.match(str, results);
if (br.matched)
{
tcout << " match " << std::endl;
}
else
{
tcout << " not match " << std::endl;
}
#endif
#if 0 // 字母
match_results results;
tstring str( " .asdf " );
rpattern pat( " ^[a-z]*$ " ); // ^\-?[0-9]*\.?[0-9]*$
match_results::backref_type br = pat.match(str, results);
if (br.matched)
{
tcout << " match " << std::endl;
}
else
{
tcout << " not match " << std::endl;
}
#endif
其他一些实用代码
代码
#if
1
//
subsitute 替换
subst_results results;
tstring str( " a43sdf " );
REGEX_FLAGS dw = GLOBAL | NOCASE;
rpattern pat( " [0-9] " , " d " ,dw);
int cnts = pat.substitute(str,results);
subst_results::backref_vector vec = results.all_backrefs();
subst_results::backref_vector::iterator iter;
std:: string m_strResult = "" ;
for ( iter = vec.begin(); iter != vec.end(); iter ++ )
{
string _str = ( * iter).str();
m_strResult += _str.c_str();
}
#endif
#if 0 // count 计算正则表达式在串中出现的次数
tstring str( " asdf " );
rpattern pat( " [a-z] " );
int cnts = pat.count(str);
#endif
#if 0 // split 用正则表达式作为分隔符来切分串
split_results results;
tstring str( " asdf " );
rpattern pat( " [a-z] " );
int cnts = pat.split(str, results);
#endif
subst_results results;
tstring str( " a43sdf " );
REGEX_FLAGS dw = GLOBAL | NOCASE;
rpattern pat( " [0-9] " , " d " ,dw);
int cnts = pat.substitute(str,results);
subst_results::backref_vector vec = results.all_backrefs();
subst_results::backref_vector::iterator iter;
std:: string m_strResult = "" ;
for ( iter = vec.begin(); iter != vec.end(); iter ++ )
{
string _str = ( * iter).str();
m_strResult += _str.c_str();
}
#endif
#if 0 // count 计算正则表达式在串中出现的次数
tstring str( " asdf " );
rpattern pat( " [a-z] " );
int cnts = pat.count(str);
#endif
#if 0 // split 用正则表达式作为分隔符来切分串
split_results results;
tstring str( " asdf " );
rpattern pat( " [a-z] " );
int cnts = pat.split(str, results);
#endif