4
我有一個輸入字符串,如051916.000
。我想分開05
,19
,16
和000
。 我試圖在C語言中以這種方式使用regexec
。使用regexec分組時
regex_t r;
regmatch_t pmatch[4];
char* pattern = "/([0-9]{2})([0-9]{2})([0-9]{2})\\.(.*)";
int status = regcomp(&r, "", REG_EXTENDED|REG_NEWLINE);
status = regexec(&r, t, 4, pmatch, 0);
regfree(&r);
但是,這似乎並不奏效。以下是GDB輸出
(gdb) p pmatch
$1 = {{rm_so = 0, rm_eo = 0}, {rm_so = -1, rm_eo = -1}, {rm_so = -1, rm_eo = -1}, {rm_so = -1, rm_eo = -1}}
我在Python中使用了正則表達式。我對C中的正則表達式很陌生,所以我不確定我出錯的地方。正則表達式已被驗證,並且正確匹配。