我正在使用 slre ( https://code.google.com/p/slre/ ) 为 ac 程序提供正则表达式库。
我想将 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])$"
我收到以下编译错误:警告:未知的 excape 序列 '\.' 我也用 '\\.' 试过了。--> 编译错误消失了,但它仍然说它不匹配。
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);
}
Run Code Online (Sandbox Code Playgroud)
settings[i].regex 是一个带有我上面提到的正则表达式的 char* settings[i].value 是一个 char* 我试图匹配的字符串是 8.8.8.8
有没有其他方法来检查一个点?
| 归档时间: |
|
| 查看次数: |
1654 次 |
| 最近记录: |