我在vxworks下使用正则表达式,不可能包含“regex.h”。
我正在为代码if (sscanf(token, "%*[^\[][%d]", &idx) != 1)
获取编译器警告“无法识别的字符转义序列”,因为'\'和后面的'['。
是否有可能在不使用regex.h的情况下摆脱编译警告以及像这样完成的事情:Unable to match regex in C
你可能想尝试类似的东西
#include <stdio.h>
int main(void) {
char buf[99];
int idx, n;
while (fgets(buf, sizeof buf, stdin)) {
buf[strcspn(buf, "\n")] = 0; // remove ENTER
if (sscanf(buf, "%*[^[][%d%n", &idx, &n) != 1) {
printf("no number in %s\n", buf);
} else {
printf("number found: %d (left over string: \"%s\")\n", idx, buf + n);
}
}
return 0;
}