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}}
私はRegexをPythonで使っています。私はCでRegexを初めて使うので、どこが間違っているのか分かりません。正規表現は検証され、正しく一致します。あなたが先頭のスラッシュを持って
char* pattern = "/([0-9]{2})([0-9]{2})([0-9]{2})\\.(.*)";
: