摆脱正则表达式编译警告而不使用“#include ”

问题描述 投票:0回答:1

我在vxworks下使用正则表达式,不可能包含“regex.h”。

我正在为代码if (sscanf(token, "%*[^\[][%d]", &idx) != 1)获取编译器警告“无法识别的字符转义序列”,因为'\'和后面的'['。

是否有可能在不使用regex.h的情况下摆脱编译警告以及像这样完成的事情:Unable to match regex in C

c regex vxworks
1个回答
0
投票

你可能想尝试类似的东西

#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

© www.soinside.com 2019 - 2024. All rights reserved.