     reg_assoc(3)           MudOS (26 Dec 1994)           reg_assoc(3)

     名稱：
          reg_assoc() - 一個正規樣式(regular pattern)子字串擷取器(extractor)

     語法：
          mixed *reg_assoc(string str, string *pat_arr, mixed
          *tok_arr, void | mixed def);

          混合 *reg_assoc(字串 str, 字串 *pat_arr, 混合 *tok_arr,
                          無參數 | 混合 def);

     用法：
          reg_assoc 將一個字串擴展(explode)為一些符合給定 pat_arr 正規
          表示(regular expression)樣式字串的子字串，並且和給定的剖析單
          元(token) tok_arr 相聯結。如果 def（預設值 0）有指定的話，它
          則會和一個未配對者相聯結。傳回值是含有二個子陣列的陣列，第一
          個是一個如下格式的陣列

               ({ 未配對 1, 配對 1, 未配對 2, 配對 2, ...,
                  未配對 n, 配對 n, 未配對 n+1 })

          而第二個則含有依序對應於配對者的剖析單元：

               ({ def, 相對於配對 1 的剖析單元, ...,
                  def, 相對於配對 n 的剖析單元, def })。
                 
          pat_arr 和 tok_arr 必須一樣大小，tok_arr 的第 i 個元素是對
          應於 pat_arr 的第 i 個元素。pat_arr 可以只含有字串。

          如果 pat_arr（或 tok_arr）的大小是零的話，則只會傳回
          ({ ({ str }), ({ def }) })。

     例子：
          #define STRING_PAT "\"(\\\\.|[^\\\"])*\""
          #define NUM_PAT "[0-9]+"

          #define F_STRING 1
          #define F_NUM 2

          reg_assoc("Blah \"blah\" test 203 hhh j 308 \"bacdcd\b\"acb",
            ({ STRING_PAT, NUM_PAT }), ({ F_STRING, F_NUM }), "no-match")

          將會傳回
          ({ ({ "Blah ", "\"blah\"", " test ", "203", " hhh j ", "308", " ",
                "\"bacdcd\b\"", "acb" }),
             ({ "no-match", F_STRING, "no-match", F_NUM, "no-match", F_NUM,
                "no-match", F_STRING, "no-match" }) })

     翻譯：
          Kenny@Broken.History       97.Jul.26       (printed 3/16/95)
