char string[512];
char digit[512];
sscanf("dfdfdf100ghghjsdfsd", "%[a-z]%[0-9]", string, digit);
printf("%s", string);
printf("%s", digit);
sscanf("中文支持吗100ghghjsdfsd", "%[^0-9]%[0-9]", string, digit);
上面的代码其实和正则表达式的语法是一样的,之前一直没有发现C语言还有这个功能,使用上面的方法可以把用户输入的非数字字符保存到string数组中直到遇到数字字符,然后将数字字符存储到digit数组中,但是如果在数字后面继续输入非数字字符将会丢弃。
懂一点儿正则的都知道这段代码的含义,而且可以按照自己的想法对其进行扩充。