在不使用“#include <regex.h>”的情况下摆脱正则表达式编译器警告

get rid of regex compilerwarning without using "#include <regex.h>"

我在 vxworks 下使用正则表达式,无法包含 "regex.h"。

我收到代码 if (sscanf(token, "%*[^\[][%d]", &idx) != 1) 的编译器警告 "unrecognized character escape sequence" 因为 '\' 和后面的 '['.

是否有可能在不使用 regex.h 的情况下摆脱该编译器警告以及类似的事情在这里完成:

你可能想试试

#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;
}

See code running on ideone