例如,从
“”ttt=eee&name=aaaaaaaaaaa&pass=bbbbbgbb&usession=undefined””
中提取aaaaaaaaaaa
本人的正则表达示用(.*name=)%s,连“name=”后面的字符串都取不到。
“”ttt=eee&name=aaaaaaaaaaa&pass=bbbbbgbb&usession=undefined””
中提取aaaaaaaaaaa
本人的正则表达示用(.*name=)%s,连“name=”后面的字符串都取不到。
解决方案
10
用毛线正则表达式,直接strstr “&name=”就行了
10
char s[]="ttt=eee&name=aaaaaaaaaaa&pass=bbbbbgbb&usession=undefined"; char t[40]; if (1==sscanf(s,"ttt=%*[^&]&name=%39[^&]",t)) printf("[%s]\n",t);
10
限定最多读入39个非&字符。原因是t[40],后面还要留一个字节给”\0″
10
char s[]="ttt=eee&name=aaaaaaaaaaa&pass=bbbbbgbb&usession=undefined"; char *p; char t[40]; p=strstr(s,"&name="); if (p) if (1==sscanf(p+6,"%39[^&]",t)) printf("name=[%s]\n",t);