sscanf中的正则表达式,长度有限

时间:2013-12-17 07:22:35

标签: c regex

我尝试使用以下代码使用正则表达式将字符串中的数字读取到另一个字符串

char des[25]={0};
char *src="1234567890";
sscanf(src, "%[[0-9]{1,5}]s", des);
sscanf(src, "%[^[0-9]{1,5}$]s", des);

我只想要前5位数字。我没有在sscanf中获得所需的输出。

1 个答案:

答案 0 :(得分:0)

这将读取从srcdes

的前5位数字
#include <stdio.h>    

main() {
    char des[25]={0};
    char *src="1234567890";
    sscanf(src, "%5s\0", des);
    puts(des);
}

要只阅读数字,请将sscanf替换为:

sscanf(src, "%5[0-9]", des);