在C中找不到Fnmatch的正确模式(不包括两位数)

时间:2014-09-22 19:07:35

标签: c glob

我已经搜索了几天,我似乎无法在C中找到有关如何使用fnmatch执行此操作的信息。

我试图制作一个匹配的模式:xxxx00_xxx(x是任何字符,00是除02之外的任何数字)。

到目前为止我所得到的只有: ???? [0-9] [!2] _ ???
正如您所看到的,问题在于它排除任何以2(12,22等)结尾的数字。但我对除02之外的所有数字感兴趣。

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

要使用fnmatch模式解决此问题,您需要两个单独的模式,例如:

????[!0]?_???
????0[!2]_???

我选择这些以避免任何字符串匹配两种模式的可能性,因此如果您正在制作匹配列表(例如使用glob函数),您应该能够连接列表。