14.5 我需要一些處理正則表達式或通配符匹配的代碼。

確保你知道經典的正則表達式和文件名通配符的不同。 前者的變體在 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

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)