确保你知道经典的正则表达式和文件名通配符的不同。
前者的变体在Unix工具ed 和grep 等中使用, 后者的变体在多数操作系统中使用。
有许多匹配正则表达式的包可以利用。
很多包都是用成对的函数, 一个“编译” 正则表达式, 另一个“执行” 它, 即用它比较字符串。
查查头文件<regex.h> 或<regexp.h> 和函数regcmp/regex, regcomp/regexec, 或re comp/re exec。
这些函数可能在一个单独的regexp 库中。
在ftp://ftp.cs.toronto.edu/pub/regexp.shar.Z或其它地方可以找到一个Henry Spencer 开发的广受欢迎的regexp 包, 这个包也可自由再发布。
GNU 工程有一个叫做rx 的包。参见问题18.18。
文件名通配符匹配(有时称之为“globbing”) 在不同的系统上有不同的实现。
在Unix 上, shell 会在进程调用之前自动扩展通配符, 因此, 程序几乎从不需要专门考虑它们。
在MS-DOS 下的编译器中, 通常都可以在建立argv 的时候连接一个用来扩展通配符的特殊目标文件。
有些系统(包括MS-DOS 和VMS) 会提供通配符指定文件的列表和打开的系统服务。
参见问题19.25 和20.2。