我有一个输入字符串,如051916.000
. 我想隔离05
,19
和. 我正在尝试以这种方式在 C 语言中使用。16
000
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 中正则表达式的新手。所以我不确定我哪里出错了。正则表达式经过验证,并且匹配正确。