欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

greta一些简单实用的字符串匹配

发布时间:2023/12/31 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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

 其他一些实用代码

 

代码 #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一些简单实用的字符串匹配的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。