regcmp [-] filename...
regcmp 命令会执行与 regcmp 类似的功能,而且在大多数情况下,它让 C 程序无需调用 regcmp。绕过 regcmp 可缩短执行时间,并降低程序大小。命令 regcmp 会编译 filename 中的正则表达式,并将输出放入 filename.i。
如果使用了 − 选项,输出会放入 filename.c。filename 中条目的格式为一个名称(C 变量),后跟一个或多个空格,再后跟一个或多个正则表达式,而且所有内容都括在双引号中。regcmp 的输出为 C 源代码。编译后的正则表达式表示为 extern char 向量。因此,filename.i 文件可以放入 C 程序中的 #include,或者可以编译 filename.c 文件并在稍后加载该文件。在使用 regcmp 输出的 C 程序中,regex(abc,line) 会将名为 abc 的正则表达式应用于 line。诊断消息是不需要加以说明的。
"([A−Za−z][A−Za−z0−9_]*)$0"
" \({0,1}([2−9][01][1−9])$0\){0,1} *"
"([2−9][0−9]{2})$1[ −]{0,1}"
"([0−9]{4})$2"
上文中 telno 的三个参数必须输入到一行。
在使用 regcmp 输出的 C 程序中,
regex(telno, line, area, exch, rest)
将名为 telno 的正则表达式应用于 line。
有关 LC_* 环境变量用法的一般描述,请参见 environ(5)。
确定 regcmp 如何处理字符。将 LC_CTYPE 设为有效值时,regcmp 能够显示和处理包含对此语言环境有效的字符的文本和文件名。
确定如何显示诊断和信息性消息。这包括消息的语言和风格,以及肯定性和否定性响应的正确形式。在 "C" 语言环境中,消息以程序自身中的缺省形式显示(大多数情况下,为美式英文)。
有关下列属性的说明,请参见 attributes(5):
|