以下函數檢查變量名是否以字母開頭並且可能有前面的字母/數字。爲什麼無論輸入是什麼,返回值總是1?爲什麼正則表達式總是返回1?
#include <regex.h>
#include <stdio.h>
int validate_var(char *str)
{
regex_t reg;
regcomp(®, "^[a-zA-Z]+[a-zA-Z0-9]*$", 0);
int r = regexec(®, str, 0, NULL, 0);
regfree(®);
return r;
}
int main() {
printf("%d\n", validate_var("abc")); // Reports 1, This makes sense
printf("%d\n", validate_var("17")); // Reports 1, This doesn't make sense
}
什麼是'str'?... – Maroun
正如我所提到的,它是一個代表變量名的字符串。 – abcxyz
我的意思是內容是什麼。 – Maroun