1鬼車インターフェース Version 6.9.5   2020/02/19
2
3#include <oniguruma.h>
4
5
6# int onig_initialize(OnigEncoding use_encodings[], int num_encodings)
7
8  ライブラリの初期化
9  最初に呼び出す必要がある。
10
11  * onig_init() は廃止
12
13  引数
14  1 use_encodings:         使用する文字エンコーディングの配列
15  2 num_encodings:         文字エンコーディングの数
16
17
18# int onig_error_code_to_str(UChar* err_buf, int err_code, ...)
19
20  エラーメッセージを取得する。
21
22  この関数を、onig_new()の結果に対して呼び出す場合には、onig_new()のpattern引数を
23  メモリ解放するよりも前に呼び出さなければならない。
24
25  正常終了戻り値: エラーメッセージ文字列のバイト長
26
27  引数
28  1 err_buf:              エラーメッセージを格納する領域
29                          (必要なサイズ: ONIG_MAX_ERROR_MESSAGE_LEN)
30  2 err_code:             エラーコード
31  3 err_info (optional):  onig_new()のerr_info
32
33
34# void onig_set_warn_func(OnigWarnFunc func)
35
36  警告通知関数をセットする。
37
38  警告:
39    '[', '-', ']' in character class without escape.
40    ']' in pattern without escape.
41
42  引数
43  1 func:    警告関数    void (*func)(char* warning_message)
44
45
46# void onig_set_verb_warn_func(OnigWarnFunc func)
47
48  詳細警告通知関数をセットする。
49
50  詳細警告:
51    redundant nested repeat operator.
52
53  引数
54  1 func:    詳細警告関数    void (*func)(char* warning_message)
55
56
57# int onig_new(regex_t** reg, const UChar* pattern, const UChar* pattern_end,
58            OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax,
59            OnigErrorInfo* err_info)
60
61  正規表現オブジェクト(regex)を作成する。
62
63  正常終了戻り値: ONIG_NORMAL
64
65  引数
66  1 reg:         作成された正規表現オブジェクトを返すアドレス
67  2 pattern:     正規表現パターン文字列
68  3 pattern_end: 正規表現パターン文字列の終端アドレス(pattern + pattern length)
69  4 option:      正規表現コンパイル時オプション
70
71      ONIG_OPTION_NONE               オプションなし
72      ONIG_OPTION_SINGLELINE         '^' -> '\A', '$' -> '\Z'
73      ONIG_OPTION_MULTILINE          '.'が改行にマッチする
74      ONIG_OPTION_IGNORECASE         曖昧マッチ オン
75      ONIG_OPTION_EXTEND             パターン拡張形式
76      ONIG_OPTION_FIND_LONGEST       最長マッチ
77      ONIG_OPTION_FIND_NOT_EMPTY     空マッチを無視
78      ONIG_OPTION_NEGATE_SINGLELINE
79            ONIG_SYNTAX_POSIX_BASIC, ONIG_SYNTAX_POSIX_EXTENDED,
80            ONIG_SYNTAX_PERL, ONIG_SYNTAX_PERL_NG, ONIG_SYNTAX_JAVAで
81            デフォルトで有効なONIG_OPTION_SINGLELINEをクリアする。
82
83      ONIG_OPTION_DONT_CAPTURE_GROUP 名前付き捕獲式集合のみ捕獲
84      ONIG_OPTION_CAPTURE_GROUP      名前無し捕獲式集合も捕獲
85      ONIG_OPTION_WORD_IS_ASCII      wordがASCIIのみ (\w, \p{Word}, [[:word:]])
86                                     word boundがASCIIのみ (\b)
87      ONIG_OPTION_DIGIT_IS_ASCII     digitがASCIIのみ (\d, \p{Digit}, [[:digit:]])
88      ONIG_OPTION_SPACE_IS_ASCII     spaceがASCIIのみ (\s, \p{Space}, [[:space:]])
89      ONIG_OPTION_POSIX_IS_ASCII     POSIXプロパティがASCIIのみ
90                                     (word, digit, spaceを全て含んでいる)
91                                     (alnum, alpha, blank, cntrl, digit, graph,
92                                      lower, print, punct, space, upper, xdigit,
93                                      word)
94      ONIG_OPTION_TEXT_SEGMENT_EXTENDED_GRAPHEME_CLUSTER  拡張書記素房モード
95      ONIG_OPTION_TEXT_SEGMENT_WORD                       単語モード
96
97  5 enc:        文字エンコーディング
98
99      ONIG_ENCODING_ASCII         ASCII
100      ONIG_ENCODING_ISO_8859_1    ISO 8859-1
101      ONIG_ENCODING_ISO_8859_2    ISO 8859-2
102      ONIG_ENCODING_ISO_8859_3    ISO 8859-3
103      ONIG_ENCODING_ISO_8859_4    ISO 8859-4
104      ONIG_ENCODING_ISO_8859_5    ISO 8859-5
105      ONIG_ENCODING_ISO_8859_6    ISO 8859-6
106      ONIG_ENCODING_ISO_8859_7    ISO 8859-7
107      ONIG_ENCODING_ISO_8859_8    ISO 8859-8
108      ONIG_ENCODING_ISO_8859_9    ISO 8859-9
109      ONIG_ENCODING_ISO_8859_10   ISO 8859-10
110      ONIG_ENCODING_ISO_8859_11   ISO 8859-11
111      ONIG_ENCODING_ISO_8859_13   ISO 8859-13
112      ONIG_ENCODING_ISO_8859_14   ISO 8859-14
113      ONIG_ENCODING_ISO_8859_15   ISO 8859-15
114      ONIG_ENCODING_ISO_8859_16   ISO 8859-16
115      ONIG_ENCODING_UTF8          UTF-8
116      ONIG_ENCODING_UTF16_BE      UTF-16BE
117      ONIG_ENCODING_UTF16_LE      UTF-16LE
118      ONIG_ENCODING_UTF32_BE      UTF-32BE
119      ONIG_ENCODING_UTF32_LE      UTF-32LE
120      ONIG_ENCODING_EUC_JP        EUC-JP
121      ONIG_ENCODING_EUC_TW        EUC-TW
122      ONIG_ENCODING_EUC_KR        EUC-KR
123      ONIG_ENCODING_EUC_CN        EUC-CN
124      ONIG_ENCODING_SJIS          Shift_JIS
125      ONIG_ENCODING_KOI8_R        KOI8-R
126      ONIG_ENCODING_CP1251        CP1251
127      ONIG_ENCODING_BIG5          Big5
128      ONIG_ENCODING_GB18030       GB18030
129
130      または、ユーザが定義したOnigEncodingTypeデータのアドレス
131
132  6 syntax:     正規表現パターン文法定義
133
134      ONIG_SYNTAX_ASIS              plain text
135      ONIG_SYNTAX_POSIX_BASIC       POSIX Basic RE
136      ONIG_SYNTAX_POSIX_EXTENDED    POSIX Extended RE
137      ONIG_SYNTAX_EMACS             Emacs
138      ONIG_SYNTAX_GREP              grep
139      ONIG_SYNTAX_GNU_REGEX         GNU regex
140      ONIG_SYNTAX_JAVA              Java (Sun java.util.regex)
141      ONIG_SYNTAX_PERL              Perl
142      ONIG_SYNTAX_PERL_NG           Perl + 名前付き捕獲式集合
143      ONIG_SYNTAX_RUBY              Ruby
144      ONIG_SYNTAX_ONIGURUMA         Oniguruma
145      ONIG_SYNTAX_DEFAULT           default (== ONIG_SYNTAX_ONIGURUMA)
146                                    onig_set_default_syntax()
147
148      または、ユーザが定義したOnigSyntaxTypeデータのアドレス
149
150  7 err_info: エラー情報を返すためのアドレス
151              onig_error_code_to_str()の三番目の引数として使用する
152
153
154
155# int onig_new_without_alloc(regex_t* reg, const UChar* pattern,
156            const UChar* pattern_end,
157            OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax,
158            OnigErrorInfo* err_info)
159
160  正規表現オブジェクト(regex)を作成する。
161  regの領域を内部で割り当てない。
162
163  正常終了戻り値: ONIG_NORMAL
164
165
166
167# int onig_new_deluxe(regex_t** reg, const UChar* pattern, const UChar* pattern_end,
168                      OnigCompileInfo* ci, OnigErrorInfo* einfo)
169
170  この関数は廃止予定。
171  パターンと対象文字列の文字エンコーディングが異なる場合を許さなくなった。
172
173  正規表現オブジェクト(regex)を作成する。
174  この関数は、onig_new()のデラックス版。
175
176  正常終了戻り値: ONIG_NORMAL
177
178  引数
179  1 reg:         作成された正規表現オブジェクトを返すアドレス
180  2 pattern:     正規表現パターン文字列
181  3 pattern_end: 正規表現パターン文字列の終端アドレス(pattern + pattern length)
182  4 ci:          コンパイル情報
183
184    ci->num_of_elements: ciの要素数 (現在の版では: 5)
185    ci->pattern_enc:     パターン文字列の文字エンコーディング
186    ci->target_enc:      対象文字列の文字エンコーディング
187    ci->syntax:          正規表現パターン文法定義
188    ci->option:          正規表現コンパイル時オプション
189    ci->case_fold_flag:  ONIG_OPTION_IGNORECASEモードでの
190                         文字曖昧マッチ指定ビットフラグ
191
192       ONIGENC_CASE_FOLD_MIN:           最小
193       ONIGENC_CASE_FOLD_DEFAULT:       最小
194                                        onig_set_default_case_fold_flag()
195
196  5 err_info:    エラー情報を返すためのアドレス
197                 onig_error_code_to_str()の三番目の引数として使用する
198
199
200  異なる文字エンコーディングの組み合わせは、以下の場合にのみ許される。
201
202    pattern_enc: ASCII, ISO_8859_1
203    target_enc:  UTF16_BE, UTF16_LE, UTF32_BE, UTF32_LE
204
205    pattern_enc: UTF16_BE/LE
206    target_enc:  UTF16_LE/BE
207
208    pattern_enc: UTF32_BE/LE
209    target_enc:  UTF32_LE/BE
210
211
212# void onig_free(regex_t* reg)
213
214  正規表現オブジェクトのメモリを解放する。
215
216  引数
217  1 reg: 正規表現オブジェクト
218
219
220# void onig_free_body(regex_t* reg)
221
222  正規表現オブジェクトのメモリを解放する。(reg自身の領域を除いて)
223
224  引数
225  1 reg: 正規表現オブジェクト
226
227
228# OnigMatchParam* onig_new_match_param()
229
230  OnigMatchParamオブジェクトを生成し、onig_initialize_match_param()を使用して
231  中身を初期化する。
232
233
234# void onig_free_match_param(OnigMatchParam* mp)
235
236  OnigMatchParamオブジェクトで使用しているメモリを開放する。
237
238  引数
239  1 mp: OnigMatchParamオブジェクト
240
241
242# void onig_initialize_match_param(OnigMatchParam* mp)
243
244  マッチパラメタ構造体にデフォルト値をセットする。
245  マッチパラメタは、onig_match_with_param(), onig_search_with_param()で
246  使用される。
247
248  引数
249  1 mp: マッチパラメタオブジェクトアドレス
250
251
252# int onig_set_match_stack_limit_size_of_match_param(OnigMatchParam* mp, unsigned int limit)
253
254  マッチスタックの最大深さをセットする。
255  0は、無制限を表す。
256
257  引数
258  1 mp: マッチパラメタオブジェクトアドレス
259  2 limit: 制限数
260
261  正常終了戻り値: ONIG_NORMAL
262
263
264# int onig_set_retry_limit_in_match_of_match_param(OnigMatchParam* mp, unsigned long limit)
265
266  一回のマッチでのリトライ数の制限値をセットする。
267
268  引数
269  1 mp: マッチパラメタオブジェクトアドレス
270  2 limit: 制限回数
271
272  正常終了戻り値: ONIG_NORMAL
273
274
275# int onig_set_retry_limit_in_search_of_match_param(OnigMatchParam* mp, unsigned long limit)
276
277  一回の検索でのリトライ数の制限値をセットする。
278  0は無制限を意味する。
279
280  引数
281  1 mp: マッチパラメタオブジェクトアドレス
282  2 limit: 制限回数
283
284  正常終了戻り値: ONIG_NORMAL
285
286
287# int onig_set_progress_callout_of_match_param(OnigMatchParam* mp, OnigCalloutFunc f)
288
289  前進時の内容の呼び出し(callouts)で呼び出される関数をセットする。
290  もし0(NULL)がセットされると、前進時に呼び出しは起こらない。
291
292  引数
293  1 mp: マッチパラメタオブジェクトアドレス
294  2 f: 呼び出される関数
295
296  正常終了戻り値: ONIG_NORMAL
297
298
299# int onig_set_retraction_callout_of_match_param(OnigMatchParam* mp, OnigCalloutFunc f)
300
301  後退時の内容の呼び出し(callouts)で呼び出される関数をセットする。
302  もし0(NULL)がセットされると、後退時に呼び出しは起こらない。
303
304  引数
305  1 mp: マッチパラメタオブジェクトアドレス
306  2 f: 呼び出される関数
307
308  正常終了戻り値: ONIG_NORMAL
309
310
311
312# int onig_search(regex_t* reg, const UChar* str, const UChar* end, const UChar* start,
313                   const UChar* range, OnigRegion* region, OnigOptionType option)
314
315  正規表現で文字列を検索し、検索結果とマッチ領域を返す。
316  正規表現オブジェクトの文字エンコーディングで、検索文字列として不正な文字列を渡してはいけない。
317
318  正常終了戻り値: マッチ位置 (p - str >= 0)
319  検索失敗:       ONIG_MISMATCH (< 0)
320
321  引数
322  1 reg:    正規表現オブジェクト
323  2 str:    検索対象文字列
324  3 end:    検索対象文字列の終端アドレス
325  4 start:  検索対象文字列の検索先頭位置アドレス
326  5 range:  検索対象文字列の検索終了位置アドレス
327    前方探索  (start <= 探索される文字列 < range)
328    後方探索  (range <= 探索される文字列 <= start)
329  6 region: マッチ領域情報(region)  (NULLも許される)
330  7 option: 検索時オプション
331
332    ONIG_OPTION_NOTBOL        文字列の先頭(str)を行頭と看做さない
333    ONIG_OPTION_NOTEOL        文字列の終端(end)を行末と看做さない
334    ONIG_OPTION_POSIX_REGION  region引数をPOSIX APIのregmatch_t[]にする
335
336
337# int onig_search_with_param(regex_t* reg, const UChar* str, const UChar* end,
338                   const UChar* start, const UChar* range, OnigRegion* region,
339                   OnigOptionType option, OnigMatchParam* mp)
340
341  正規表現で文字列を検索し、検索結果とマッチ領域を返す。
342  正規表現オブジェクトの文字エンコーディングで、検索文字列として不正な文字列を渡してはいけない。
343
344  引数
345  1-7:  onig_search()と同じ
346  8 mp: マッチパラメタ値 (match_stack_limit, retry_limit_in_match, retry_limit_in_search)
347
348
349# int onig_match(regex_t* reg, const UChar* str, const UChar* end,
350                 const UChar* at, OnigRegion* region, OnigOptionType option)
351
352  文字列の指定位置でマッチングを行い、結果とマッチ領域を返す。
353  正規表現オブジェクトの文字エンコーディングで、検索文字列として不正な文字列を渡してはいけない。
354
355  正常終了戻り値: マッチしたバイト長 (>= 0)
356  not match:      ONIG_MISMATCH      ( < 0)
357
358  引数
359  1 reg:    正規表現オブジェクト
360  2 str:    検索対象文字列
361  3 end:    検索対象文字列の終端アドレス
362  4 at:     検索対象文字列の検索アドレス
363  5 region: マッチ領域情報(region)  (NULLも許される)
364  6 option: 検索時オプション
365
366    ONIG_OPTION_NOTBOL        文字列の先頭(str)を行頭と看做さない
367    ONIG_OPTION_NOTEOL        文字列の終端(end)を行末と看做さない
368    ONIG_OPTION_POSIX_REGION  region引数をPOSIX APIのregmatch_t[]にする
369
370
371# int onig_match_with_param(regex_t* reg, const UChar* str, const UChar* end,
372                            const UChar* at, OnigRegion* region,
373                            OnigOptionType option, OnigMatchParam* mp)
374
375  文字列の指定位置でマッチングを行い、結果とマッチ領域を返す。
376  正規表現オブジェクトの文字エンコーディングで、検索文字列として不正な文字列を渡してはいけない。
377
378  引数
379  1-6:  onig_match()と同じ
380  7 mp: マッチパラメタ値 (match_stack_limit, retry_limit_in_match, retry_limit_in_search)
381
382
383# int onig_scan(regex_t* reg, const UChar* str, const UChar* end,
384                OnigRegion* region, OnigOptionType option,
385                int (*scan_callback)(int, int, OnigRegion*, void*),
386                void* callback_arg)
387
388  正規表現で文字列をスキャンして、マッチングする毎にコールバック関数を呼び出す。
389  正規表現オブジェクトの文字エンコーディングで、検索文字列として不正な文字列を渡してはいけない。
390
391  正常終了: マッチ回数 (0回も含める)
392  エラー:   エラーコード (< 0)
393  中断: コールバック関数が0以外の戻り値を返したとき、その値を戻り値として中断
394
395  引数
396  1 reg:    正規表現オブジェクト
397  2 str:    検索対象文字列
398  3 end:    検索対象文字列の終端アドレス
399  4 region: マッチ領域情報(region)  (NULLも許される)
400  5 option: 検索時オプション
401  6 scan_callback: コールバック関数
402  7 callback_arg:  コールバック関数に渡される付加引数値
403
404
405# int onig_regset_new(OnigRegSet** rset, int n, regex_t* regs[])
406
407  regsetオブジェクトを生成する。
408  全ての正規表現オブジェクトは、同じ文字エンコーディングでなければならない。
409  全ての正規表現オブジェクトは、ONIG_OPTION_FIND_LONGESTオプションでコンパイルされていてはならない。
410
411  引数
412  1 rset: regsetオブジェクトを返すためのアドレス
413  2 n:    正規表現の個数
414  3 regs: 正規表現オブジェクトの配列
415
416  正常終了戻り値: ONIG_NORMAL
417
418
419# int onig_regset_add(OnigRegSet* set, regex_t* reg)
420
421  regsetオブジェクトに正規表現を追加する。
422  正規表現オブジェクトは、regsetと同じ文字エンコーディングでなければならない。
423  正規表現オブジェクトは、ONIG_OPTION_FIND_LONGESTオプションでコンパイルされていてはならない。
424
425  引数
426  1 set: regsetオブジェクト
427  2 reg: 正規表現オブジェクト
428
429  正常終了戻り値: ONIG_NORMAL
430
431
432# int onig_regset_replace(OnigRegSet* set, int at, regex_t* reg)
433
434  regsetの中の一個の正規表現オブジェクトを別のものに変更する。
435  若しreg引数の値がNULLであれば、at番目の正規表現オブジェクトを外す。(そして、以降の正規表現オブジェクトのインデックスは変化する)
436
437  引数
438  1 set: regsetオブジェクト
439  2 at:  変更する場所のインデックス
440  2 reg: 正規表現オブジェクト
441
442  正常終了戻り値: ONIG_NORMAL
443
444
445# void onig_regset_free(OnigRegSet* set)
446
447  regsetオブジェクトとその中の正規表現オブジェクトの使用メモリを開放する。
448  若し、同一の正規表現オブジェクトを重複して登録していれば、破壊的な状況になる。
449
450  引数
451  1 set: regsetオブジェクト
452
453
454# int onig_regset_number_of_regex(OnigRegSet* set)
455
456  regsetの中の正規表現オブジェクトの個数を返す。
457
458  引数
459  1 set: regsetオブジェクト
460
461
462# regex_t* onig_regset_get_regex(OnigRegSet* set, int at)
463
464  regsetのat番目の正規表現を返す。
465
466  引数
467  1 set: regsetオブジェクト
468  2 at:  正規表現オブジェクトのインデックス (ゼロ開始)
469
470
471# OnigRegion* onig_regset_get_region(OnigRegSet* set, int at)
472
473  regsetのat番目の正規表現に対応する領域を返す。
474
475  引数
476  1 set: regsetオブジェクト
477  2 at:  正規表現オブジェクトのインデックス (ゼロ開始)
478
479
480# int onig_regset_search(OnigRegSet* set, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegSetLead lead, OnigOptionType option, int* rmatch_pos)
481
482  regsetによる検索を実行する。
483
484  戻り値:
485    検索成功: マッチした正規表現オブジェクトのインデックス (ゼロ開始)
486    検索失敗: ONIG_MISMATCH (< 0)
487    エラー:   エラーコード   (< 0)
488
489  引数
490  1 set:    regsetオブジェクト
491  2 str:    検索対象文字列
492  3 end:    検索対象文字列の終端アドレス
493  4 start:  検索対象文字列の検索先頭位置アドレス
494  5 range:  検索対象文字列の検索終了位置アドレス
495            (start <= 探索される文字列 < range)
496  6 lead:   外側のループ要素
497    ONIG_REGSET_POSITION_LEAD   (最左位置でマッチした結果を返す)
498    ONIG_REGSET_REGEX_LEAD      (最左位置でマッチした結果を返す)
499    ONIG_REGSET_PRIORITY_TO_REGEX_ORDER (最初にマッチした正規表現の結果を返す)
500  7 option: 検索時オプション
501    ONIG_OPTION_NOTBOL        文字列の先頭(str)を行頭と看做さない
502    ONIG_OPTION_NOTEOL        文字列の終端(end)を行末と看做さない
503  8 rmatch_pos: マッチした位置を返すためのアドレス (match_address - str)
504
505  * ONIG_REGSET_POSITION_LEADとONIG_REGSET_REGEX_LEADは同じ結果を返す。
506    これらの違いは検索時間にしか現れない。
507    ほとんどの場合、ONIG_REGSET_POSITION_LEADのほうが速いと思われる。
508
509
510# int onig_regset_search_with_param(OnigRegSet* set, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range,  OnigRegSetLead lead, OnigOptionType option, OnigMatchParam* mps[], int* rmatch_pos)
511
512  regsetとOnigMatchParamオブジェクトによる検索を実行する。
513
514  戻り値:
515    検索成功: マッチした正規表現オブジェクトのインデックス (ゼロ開始)
516    検索失敗: ONIG_MISMATCH (< 0)
517    エラー:   エラーコード   (< 0)
518
519  引数
520  1 set:    regsetオブジェクト
521  2 str:    検索対象文字列
522  3 end:    検索対象文字列の終端アドレス
523  4 start:  検索対象文字列の検索先頭位置アドレス
524  5 range:  検索対象文字列の検索終了位置アドレス
525            (start <= 探索される文字列 < range)
526  6 lead:   外側のループ要素
527    ONIG_REGSET_POSITION_LEAD   (最左位置でマッチした結果を返す)
528    ONIG_REGSET_REGEX_LEAD      (最左位置でマッチした結果を返す)
529    ONIG_REGSET_PRIORITY_TO_REGEX_ORDER (最初にマッチした正規表現の結果を返す)
530  7 option: 検索時オプション
531    ONIG_OPTION_NOTBOL        文字列の先頭(str)を行頭と看做さない
532    ONIG_OPTION_NOTEOL        文字列の終端(end)を行末と看做さない
533  8 mps:    OnigMatchParamオブジェクトの配列
534  9 rmatch_pos: マッチした位置を返すためのアドレス (match_address - str)
535
536
537# OnigRegion* onig_region_new(void)
538
539  マッチ領域情報(region)を作成する。
540
541
542# void onig_region_free(OnigRegion* region, int free_self)
543
544  マッチ領域情報(region)で使用されているメモリを解放する。
545
546  引数
547  1 region:    マッチ領域情報オブジェクト
548  2 free_self:  [1: region自身を含めて全て解放, 0: region自身は解放しない]
549
550
551# void onig_region_copy(OnigRegion* to, OnigRegion* from)
552
553  マッチ領域情報(region)を複製する。
554
555  引数
556  1 to:   対象領域
557  2 from: 元領域
558
559
560# void onig_region_clear(OnigRegion* region)
561
562  マッチ領域情報(region)の中味をクリアする。
563
564  引数
565  1 region: 対象領域
566
567
568# int onig_region_resize(OnigRegion* region, int n)
569
570  マッチ領域情報(region)の捕獲式集合(グループ)数を変更する。
571
572  正常終了戻り値: ONIG_NORMAL
573
574  引数
575  1 region: 対象領域
576  2 n:      新しいサイズ
577
578
579# int onig_name_to_group_numbers(regex_t* reg, const UChar* name, const UChar* name_end,
580                                  int** num_list)
581
582  指定した名前に対する名前付き捕獲式集合(グループ)の
583  グループ番号リストを返す。
584  名前付き捕獲式集合は、(?<name>....)によって定義できる。
585
586  正常終了戻り値:  指定された名前に対するグループ数
587                   (例 /(?<x>..)(?<x>..)/  ==>  2)
588  名前に対するグループが存在しない: -1
589
590  引数
591  1 reg:       正規表現オブジェクト
592  2 name:      捕獲式集合(グループ)名
593  3 name_end:  捕獲式集合(グループ)名の終端アドレス
594  4 num_list:  番号リストを返すアドレス
595
596
597# int onig_name_to_backref_number(regex_t* reg, const UChar* name, const UChar* name_end,
598                                  OnigRegion *region)
599
600  指定された名前の後方参照(\k<name>)に対する捕獲式集合(グループ)の番号を返す。
601  名前に対して、複数のマッチ領域が有効であれば、その中の最大の番号を返す。
602  名前に対する捕獲式集合が一個しかないときには、対応するマッチ領域が有効か
603  どうかに関係なく、その番号を返す。(従って、regionにはNULLを渡してもよい。)
604
605  正常終了戻り値: 番号
606
607  引数
608  1 reg:       正規表現オブジェクト
609  2 name:      捕獲式集合(グループ)名
610  3 name_end:  捕獲式集合(グループ)名の終端アドレス
611  4 region:    search/match結果のマッチ領域
612
613
614# int onig_foreach_name(regex_t* reg,
615                        int (*func)(const UChar*, const UChar*, int,int*,regex_t*,void*),
616                        void* arg)
617
618  全ての名前に対してコールバック関数呼び出しを実行する。
619
620  正常終了戻り値: 0
621  エラー:         コールバック関数の戻り値
622
623  引数
624  1 reg:     正規表現オブジェクト
625  2 func:    コールバック関数
626             func(name, name_end, <number of groups>, <group number's list>,
627                  reg, arg);
628
629             funcが0以外の値を返すと、それ以降のコールバックは行なわずに
630             終了する。
631
632  3 arg:     funcに対する追加引数
633
634
635# int onig_number_of_names(regex_t* reg)
636
637  パターン中で定義された名前の数を返す。
638  一個の名前の多重定義は一個と看做す。
639
640  引数
641  1 reg:    正規表現オブジェクト
642
643
644# OnigEncoding     onig_get_encoding(regex_t* reg)
645# OnigOptionType   onig_get_options(regex_t* reg)
646# OnigCaseFoldType onig_get_case_fold_flag(regex_t* reg)
647# OnigSyntaxType*  onig_get_syntax(regex_t* reg)
648
649  正規表現オブジェクトに対して、対応する値を返す。
650
651  引数
652  1 reg:    正規表現オブジェクト
653
654
655# int onig_number_of_captures(regex_t* reg)
656
657  パターン中で定義された捕獲グループの数を返す。
658
659  引数
660  1 reg:    正規表現オブジェクト
661
662
663# int onig_number_of_capture_histories(regex_t* reg)
664
665  パターン中で定義された捕獲履歴(?@...)の数を返す。
666
667  使用する文法で捕獲履歴機能が有効(ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY)
668  でなければ、捕獲履歴機能は使用できない。
669
670  引数
671  1 reg:    正規表現オブジェクト
672
673
674# OnigCaptureTreeNode* onig_get_capture_tree(OnigRegion* region)
675
676  捕獲履歴データのルートノードを返す。
677
678  マッチが失敗している場合には、この値は不定である。
679
680  引数
681  1 region: マッチ領域
682
683
684# int onig_capture_tree_traverse(OnigRegion* region, int at,
685                  int(*func)(int,int,int,int,int,void*), void* arg)
686
687  捕獲履歴データ木を巡回してコールバックする。
688
689  正常終了戻り値: 0
690  エラー:         コールバック関数の戻り値
691
692  引数
693  1 region:  マッチ領域
694  2 at:      コールバックを行なうタイミング
695
696    ONIG_TRAVERSE_CALLBACK_AT_FIRST:
697        最初にコールバックして、子ノードを巡回
698    ONIG_TRAVERSE_CALLBACK_AT_LAST:
699        子ノードを巡回して、コールバック
700    ONIG_TRAVERSE_CALLBACK_AT_BOTH:
701        最初にコールバックして、子ノードを巡回、最後にもう一度コールバック
702
703  3 func:    コールバック関数
704             funcが0以外の値を返すと、それ以降の巡回は行なわずに
705             終了する。
706
707             int func(int group, int beg, int end, int level, int at,
708                      void* arg)
709               group: グループ番号
710               beg:   マッチ開始位置
711               end    マッチ終了位置
712               level: ネストレベル (0から)
713               at:    コールバックが呼び出されたタイミング
714                      ONIG_TRAVERSE_CALLBACK_AT_FIRST
715                      ONIG_TRAVERSE_CALLBACK_AT_LAST
716               arg:   追加引数
717
718  4 arg;     funcに対する追加引数
719
720
721# int onig_noname_group_capture_is_active(regex_t* reg)
722
723  名前なし式集合の捕獲機能が有効かどうかを返す。
724
725  有効: 1
726  無効: 0
727
728  引数
729  1 reg:    正規表現オブジェクト
730
731
732  オプションのONIG_OPTION_DONT_CAPTURE_GROUPがON --> 無効
733
734  パターンが名前つき式集合を使用している
735  AND 使用文法で、ONIG_SYN_CAPTURE_ONLY_NAMED_GROUPがON
736  AND オプションのONIG_OPTION_CAPTURE_GROUPがOFF
737  --> 無効
738
739  上記以外の場合 --> 有効
740
741
742# UChar* onigenc_get_prev_char_head(OnigEncoding enc, const UChar* start, const UChar* s)
743
744  文字一個分前の文字列位置を返す。
745
746  引数
747  1 enc:   文字エンコーディング
748  2 start: 文字列の先頭アドレス
749  3 s:     文字列中の位置
750
751
752# UChar* onigenc_get_left_adjust_char_head(OnigEncoding enc,
753                                           const UChar* start, const UChar* s)
754
755  文字の先頭バイト位置になるように左側に調整したアドレスを返す。
756
757  引数
758  1 enc:   文字エンコーディング
759  2 start: 文字列の先頭アドレス
760  3 s:     文字列中の位置
761
762
763# UChar* onigenc_get_right_adjust_char_head(OnigEncoding enc,
764                                            const UChar* start, const UChar* s)
765
766  文字の先頭バイト位置になるように右側に調整したアドレスを返す。
767
768  引数
769  1 enc:   文字エンコーディング
770  2 start: 文字列の先頭アドレス
771  3 s:     文字列中の位置
772
773
774# int onigenc_strlen(OnigEncoding enc, const UChar* s, const UChar* end)
775
776  文字列の文字数を返す。
777
778
779# int onigenc_strlen_null(OnigEncoding enc, const UChar* s)
780
781  文字列の文字数を返す。
782  文字エンコーディングに対して、不正な文字列を渡してはいけない。
783
784
785# int onigenc_str_bytelen_null(OnigEncoding enc, const UChar* s)
786
787  文字列のバイト数を返す。
788  文字エンコーディングに対して、不正な文字列を渡してはいけない。
789
790
791# int onig_set_default_syntax(OnigSyntaxType* syntax)
792
793  デフォルトの正規表現パターン文法をセットする。
794
795  引数
796  1 syntax: 正規表現パターン文法
797
798
799# void onig_copy_syntax(OnigSyntaxType* to, OnigSyntaxType* from)
800
801  正規表現パターン文法をコピーする。
802
803  引数
804  1 to:   対象
805  2 from: 元
806
807
808# unsigned int onig_get_syntax_op(OnigSyntaxType* syntax)
809# unsigned int onig_get_syntax_op2(OnigSyntaxType* syntax)
810# unsigned int onig_get_syntax_behavior(OnigSyntaxType* syntax)
811# OnigOptionType onig_get_syntax_options(OnigSyntaxType* syntax)
812
813# void onig_set_syntax_op(OnigSyntaxType* syntax, unsigned int op)
814# void onig_set_syntax_op2(OnigSyntaxType* syntax, unsigned int op2)
815# void onig_set_syntax_behavior(OnigSyntaxType* syntax, unsigned int behavior)
816# void onig_set_syntax_options(OnigSyntaxType* syntax, OnigOptionType options)
817
818  正規表現パターン文法の要素を参照/取得する。
819
820  引数
821  1 syntax:                     正規表現パターン文法
822  2 op, op2, behavior, options: 要素の値
823
824
825# void onig_copy_encoding(OnigEncoding to, OnigEncoding from)
826
827  文字エンコーディングをコピーする。
828
829  引数
830  1 to:   対象
831  2 from: 元
832
833
834# int onig_set_meta_char(OnigSyntaxType* syntax, unsigned int what,
835                         OnigCodePoint code)
836
837  メタ文字を指定したコードポイント値にセットする。
838  ONIG_SYN_OP_VARIABLE_META_CHARACTERSが正規表現パターン文法で有効に
839  なっていない場合には、エスケープ文字を除いて、ここで指定したメタ文字は
840  機能しない。(組込みの文法では有効にしていない。)
841
842  正常終了戻り値: ONIG_NORMAL
843
844  引数
845  1 syntax: 対象文法
846  2 what:   メタ文字機能の指定
847
848          ONIG_META_CHAR_ESCAPE
849          ONIG_META_CHAR_ANYCHAR
850          ONIG_META_CHAR_ANYTIME
851          ONIG_META_CHAR_ZERO_OR_ONE_TIME
852          ONIG_META_CHAR_ONE_OR_MORE_TIME
853          ONIG_META_CHAR_ANYCHAR_ANYTIME
854
855  3 code: メタ文字のコードポイント または ONIG_INEFFECTIVE_META_CHAR.
856
857
858# OnigCaseFoldType onig_get_default_case_fold_flag()
859
860  デフォルトのcase foldフラグを取得する。
861
862
863# int onig_set_default_case_fold_flag(OnigCaseFoldType case_fold_flag)
864
865  デフォルトのcase foldフラグをセットする。
866
867  引数
868  1 case_fold_flag: case foldフラグ
869
870
871# unsigned int onig_get_match_stack_limit_size(void)
872
873  マッチスタックサイズの最大値を返す。
874  (デフォルト: 0 == 無制限)
875
876
877# int onig_set_match_stack_limit_size(unsigned int size)
878
879  マッチスタックサイズの最大値を指定する。
880  (size = 0: 無制限)
881
882  正常終了戻り値: ONIG_NORMAL
883
884
885# unsigned long onig_get_retry_limit_in_match(void)
886
887  一回のマッチングでのリトライ数の制限値を返す。
888  (デフォルト: 10000000)
889
890  正常終了戻り値: 制限値
891
892
893# unsigned long onig_get_retry_limit_in_search(void)
894
895  一回の検索でのリトライ数の制限値を返す。
896  0は無制限を意味する。
897  (デフォルト: 0)
898
899  正常終了戻り値: 制限値
900
901
902# int onig_set_retry_limit_in_match(unsigned long limit)
903
904  一回のマッチング内でのリトライ数の制限値を指定する。
905
906  正常終了戻り値: ONIG_NORMAL
907
908
909# int onig_set_retry_limit_in_search(unsigned long limit)
910
911  一回の検索でのリトライ数の制限値をセットする。
912  0は無制限を意味する。
913  (デフォルト: 0)
914
915  正常終了戻り値: ONIG_NORMAL
916
917
918# OnigCalloutFunc onig_get_progress_callout(void)
919
920  前進時の内容の呼び出しで呼び出される関数を返す。
921
922
923# int onig_set_progress_callout(OnigCalloutFunc f)
924
925  前進時の内容の呼び出しで呼び出される関数を指定する。
926  もし0(NULL)を指定すると、前進時の内容の呼び出しで呼び出しは起こらない。
927
928  正常終了戻り値: ONIG_NORMAL
929
930
931# OnigCalloutFunc onig_get_retraction_callout(void)
932
933  後退時の内容の呼び出しで呼び出される関数を返す。
934
935
936# int onig_set_retraction_callout(OnigCalloutFunc f)
937
938  後退時の内容の呼び出しで呼び出される関数を指定する。
939  もし0(NULL)を指定すると、後退時の内容の呼び出しで呼び出しは起こらない。
940
941  正常終了戻り値: ONIG_NORMAL
942
943
944# int onig_unicode_define_user_property(const char* name, OnigCodePoint* ranges))
945
946  新しいUnicodeプロパティを定義する。
947  (この関数はスレッドセーフではない)
948
949  引数
950  1 name:    プロパティ名 (ASCIIコードのみ。 文字 ' ', '-', '_' は無視される。)
951  2 ranges:  プロパティコードポイント範囲
952             (最初の要素は範囲の数)
953
954    [num-of-ranges, 1st-range-start, 1st-range-end, 2nd-range-start... ]
955
956    * この関数を呼んだ後で、rangesを変更/破壊しないこと
957
958  正常終了戻り値: ONIG_NORMAL
959
960
961# unsigned int onig_get_parse_depth_limit(void)
962
963  再帰パース処理の最大深さを返す。
964  (デフォルト: regint.h で定義されている DEFAULT_PARSE_DEPTH_LIMIT。現在は 4096)
965
966
967# int onig_set_parse_depth_limit(unsigned int depth)
968
969  再帰パース処理の最大深さを指定する。
970  (depth = 0: regint.h で定義されたデフォルト値に設定する。)
971
972  正常終了戻り値: ONIG_NORMAL
973
974
975# int onig_end(void)
976
977  ライブラリの使用を終了する。
978
979  正常終了戻り値: ONIG_NORMAL
980
981  onig_init()を再度呼び出しても、以前に作成した正規表現オブジェクト
982  を使用することはできない。
983
984
985# const char* onig_version(void)
986
987  バージョン文字列を返す。(例 "5.0.3")
988
989// END
990