C语言 正则表达式结果不对?
在linux平台下,使用c++11正则表达式错误。。
bool isPattern(string str,string pattern)
{
bool tag=false;
if(str.size() > 0 && pattern.size() >0)
{
string match;
regex_t reg;
char errbuf[1024];
char *buff=new char[str.size()];
int err=0;
int nm=1024;
memcpy(buff,str.c_str(),str.size());
regmatch_t pmatch[nm];
if(regcomp(®,pattern.c_str(),REG_NEWLINE|REG_EXTENDED) < 0){
regerror(err,®,errbuf,sizeof(errbuf));
cout<
}
err=regexec(®,buff,nm,pmatch,0);
if(err==REG_NOMATCH) {
cout<
}
else if(err)
{
regerror(err,®,errbuf,sizeof(errbuf));
cout<
}
else
{
int len=0;
for(int i=0;i
{
len=pmatch[i].rm_eo-pmatch[i].rm_so;
if(len > 0)
{
match.clear();
match.assign(buff+pmatch[i].rm_so,len);
cout<
tag=true;
// match.clear();
}
}
regfree(®);
}
delete [] buff;
}
return tag;
}
原始字符串
string str="huangyong"urlname:" "三明治"h good way "urlname:" "蔬菜"h hello world "urlname:"h "apple", wiofjofiewajoi";
正则表达式
string pattern=""urlname:".*?"";
程序运行结束后,输出的结果是:匹配结果:"urlname:" "三明治"h good way "urlname:" "蔬菜"h hello world "urlname:"h "apple"
这个正则表达式通过在线测试工具是正确的,但是输出的结果却不是想要的。
各位大神,求助啊。。
相关阅读:
下订单时,使用事务行锁,数据库同一时刻只能进行一个事务的处理?
如何取消BootStrap样式对某个标签及其子元素的影响
php生成javascript风格时间戳
MyEclipse中的 web app libraries跟referenced libraries有什么区别?
django csrf文档中的这句话应该怎么翻译?
MFC下如何快速找到界面的方法对应的代码????
sublime text找不到插件?
js怎样将秒拼接为时分秒显示?
在UIScrollView中实现UITableView的SectionHeader效果
请问下这条语句是何意? $("#my_img")[0].src.indexOf(url)
Javascript 如何实现接口?
各位大神,有什么好的建议写成一个公共方法?
电子行业女生转做互联网从哪个方向切入比较好入行?
现实增强(AR)的app是如何实现的?
slf4j+log4j打印日志问题
怎么用js实现一个动态添加的元素的隐藏
编译node.js时出现/usr/bin/env: python2: No such file or directory
java Quartz 内存泄漏
Python 2.7 的raw_input 在3.4里面对应的是哪个函数呢
dnspod解析主域名后的解析目录