gpt4 book ai didi

c - 正则表达式 (regex) 中的点

转载 作者:太空宇宙 更新时间:2023-11-04 05:28:08 24 4
gpt4 key购买 nike

我正在使用 slre ( https://code.google.com/p/slre/ ) 为 c 程序提供正则表达式库。

我想用以下模式匹配 IP 地址:"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[ 0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2} |2[0-4][0-9]|25[0-5])$"

我收到以下编译错误:警告:未知的转义序列 '\.'我也用'\\.'试过了。 --> 编译错误没有了,但是还是说不匹配。

   if (!slre_compile(&slre, settings[i].regex)) {
printf("Error compiling RE: %s\n", slre.err_str);
}
else if (!slre_match(&slre, settings[i].value, strlen(settings[i].value), captures)) {
printf("\nSetting '%s' does not match the regular expression!", settings[i].internName);
}

settings[i].regex 是一个 char* 加上我上面提到的正则表达式settings[i].value 是一个 char*我要匹配的字符串是 8.8.8.8

还有其他方法可以检查点吗?

最佳答案

尝试[.]

点在字符类中并不特殊。

关于c - 正则表达式 (regex) 中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16595541/

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