re_comp 或 re_exec 子例程

用途

正则表达式处理程序。

标准 C 库 (libc.a)

语法

char *re_comp( String)
const char *String;
int re_exec(String)
const char *String;

描述

注意: 请勿在多线程环境中使用 re_compre_exec 子例程。

re_comp 子例程将字符串编译成适合模式匹配的内部格式。 re_exec 子例程根据传递给 re_comp 子例程的最后一个字符串来检查自变量字符串。

如果成功编译了 字符串 参数所指向的字符串,那么 re_comp 子例程将返回 0; 否则将返回包含错误消息的字符串。 如果传递了 re_comp 子例程 0 或空字符串,那么它将在不更改当前编译的正则表达式的情况下返回。

如果 String 参数指向的字符串与上次编译的正则表达式匹配,则 re_exec 子例程返回 1;如果 String 参数指向的字符串与上次编译的正则表达式不匹配,则返回 0;如果编译的正则表达式无效(表示内部错误),则返回 -1。

同时传递给 re_compre_exec 子例程的字符串可能具有尾部或嵌入的换行符; 它们以空值结尾。 由于上述差异,在 Ed 命令的手动输入中描述了已识别的正则表达式。

参数

描述
String 指向将进行匹配或编译的字符串。

返回值

如果发生错误, re_exec 子程序将返回 -1 ,而 re_comp 子程序将返回以下字符串之一:

  • 没有先前的正则表达式
  • 正则表达式太长
  • 不匹配 \ (
  • 缺失]
  • 太多 \ (\) 对
  • 不匹配 \)