のような入力文字列があります051916.000
。05
、19
、16
およびを分離したいと思い000
ます。私はregexec
C言語でこのように使用しようとしています。
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の正規表現が初めてなので、どこが間違っているのかわかりません。正規表現が検証され、正しく一致します。