Chức năng sau sẽ kiểm tra xem tên biến có bắt đầu bằng một chữ cái và có thể có các ký tự trước đó là chữ cái/số hay không. Tại sao giá trị trả về luôn luôn là 1 bất kể đầu vào là gì?Tại sao regex luôn trả về 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
}
Có gì 'str'? ... – Maroun
Như tôi đã đề cập, đó là một chuỗi đại diện cho tên biến. – abcxyz
Tôi muốn nói nội dung là gì. – Maroun