gpt4 book ai didi

c - 有没有办法在 regexec 调用后获取第一个不匹配字符的位置

转载 作者:行者123 更新时间:2023-11-30 17:20:34 26 4
gpt4 key购买 nike

在以下过于简化的代码示例中:

reg = "^[0-9]{1,10}$";
str = "123abc";
regcomp(&re, reg, REG_EXTENDED);
regexec(&re, str, 0, NULL, 0);

regexec返回REG_NOMATCH之后,我想获取导致匹配失败的字符的位置(上例中的3)。

最佳答案

如果您想看看最后一个适合的是什么,您需要尝试所有适合的组合:

int count=1; 
varReg=strdup("^[0-9]");
while (works(varReg)){
aux=varReg;
varReg=malloc(strlen(varReg)+1);
sprintf(varReg,"%s%d",aux, count++);
free(aux)
}
fprint ("fail in: %d\n", --count);

你需要构建bool有效(char* regex)但是很简单;)

关于c - 有没有办法在 regexec 调用后获取第一个不匹配字符的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28533033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com