greta一些简单实用的字符串匹配
生活随笔
收集整理的这篇文章主要介绍了
greta一些简单实用的字符串匹配
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
代码 #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
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
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
转载于:https://www.cnblogs.com/lancidie/archive/2011/02/09/1950222.html
总结
以上是生活随笔为你收集整理的greta一些简单实用的字符串匹配的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 向日葵远程控制app怎么用手机控制电脑(
- 下一篇: 程序员的十个层次 你属于哪一层?小菜看后