µ´¼Ö¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ Version 5.9.2 2008/02/19 #include <oniguruma.h> # int onig_init(void) ¥é¥¤¥Ö¥é¥ê¤Î½é´ü²½ onig_new()¤ÎÃæ¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤Î´Ø¿ô¤òÌÀ¼¨Åª¤Ë¸Æ¤Ó½Ð¤µ¤Ê¤¯¤Æ¤â¤è¤¤¡£ # int onig_error_code_to_str(UChar* err_buf, int err_code, ...) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¼èÆÀ¤¹¤ë¡£ ¤³¤Î´Ø¿ô¤ò¡¢onig_new()¤Î·ë²Ì¤ËÂФ·¤Æ¸Æ¤Ó½Ð¤¹¾ì¹ç¤Ë¤Ï¡¢onig_new()¤Îpattern°ú¿ô¤ò ¥á¥â¥ê²òÊü¤¹¤ë¤è¤ê¤âÁ°¤Ë¸Æ¤Ó½Ð¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸Ê¸»úÎó¤Î¥Ð¥¤¥ÈĹ °ú¿ô 1 err_buf: ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò³ÊǼ¤¹¤ëÎΰè (ɬÍפʥµ¥¤¥º: ONIG_MAX_ERROR_MESSAGE_LEN) 2 err_code: ¥¨¥é¡¼¥³¡¼¥É 3 err_info (optional): onig_new()¤Îerr_info # void onig_set_warn_func(OnigWarnFunc func) ·Ù¹ðÄÌÃδؿô¤ò¥»¥Ã¥È¤¹¤ë¡£ ·Ù¹ð: '[', '-', ']' in character class without escape. ']' in pattern without escape. °ú¿ô 1 func: ·Ù¹ð´Ø¿ô void (*func)(char* warning_message) # void onig_set_verb_warn_func(OnigWarnFunc func) ¾ÜºÙ·Ù¹ðÄÌÃδؿô¤ò¥»¥Ã¥È¤¹¤ë¡£ ¾ÜºÙ·Ù¹ð: redundant nested repeat operator. °ú¿ô 1 func: ¾ÜºÙ·Ù¹ð´Ø¿ô void (*func)(char* warning_message) # int onig_new(regex_t** reg, const UChar* pattern, const UChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* err_info) Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È(regex)¤òºîÀ®¤¹¤ë¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: ONIG_NORMAL °ú¿ô 1 reg: ºîÀ®¤µ¤ì¤¿Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¥¢¥É¥ì¥¹ 2 pattern: Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸ»úÎó 3 pattern_end: Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸ»úÎó¤Î½ªÃ¼¥¢¥É¥ì¥¹(pattern + pattern length) 4 option: Àµµ¬É½¸½¥³¥ó¥Ñ¥¤¥ë»þ¥ª¥×¥·¥ç¥ó ONIG_OPTION_NONE ¥ª¥×¥·¥ç¥ó¤Ê¤· ONIG_OPTION_SINGLELINE '^' -> '\A', '$' -> '\Z' ONIG_OPTION_MULTILINE '.'¤¬²þ¹Ô¤Ë¥Þ¥Ã¥Á¤¹¤ë ONIG_OPTION_IGNORECASE Û£Ëæ¥Þ¥Ã¥Á ¥ª¥ó ONIG_OPTION_EXTEND ¥Ñ¥¿¡¼¥ó³ÈÄ¥·Á¼° ONIG_OPTION_FIND_LONGEST ºÇĹ¥Þ¥Ã¥Á ONIG_OPTION_FIND_NOT_EMPTY ¶õ¥Þ¥Ã¥Á¤ò̵»ë ONIG_OPTION_NEGATE_SINGLELINE ONIG_SYNTAX_POSIX_BASIC, ONIG_SYNTAX_POSIX_EXTENDED, ONIG_SYNTAX_PERL, ONIG_SYNTAX_PERL_NG, ONIG_SYNTAX_JAVA¤Ç ¥Ç¥Õ¥©¥ë¥È¤Ç͸ú¤ÊONIG_OPTION_SINGLELINE¤ò¥¯¥ê¥¢¤¹¤ë¡£ ONIG_OPTION_DONT_CAPTURE_GROUP ̾Á°ÉÕ¤Êá³Í¼°½¸¹ç¤Î¤ßÊá³Í ONIG_OPTION_CAPTURE_GROUP ̾Á°Ìµ¤·Êá³Í¼°½¸¹ç¤âÊá³Í 5 enc: ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° ONIG_ENCODING_ASCII ASCII ONIG_ENCODING_ISO_8859_1 ISO 8859-1 ONIG_ENCODING_ISO_8859_2 ISO 8859-2 ONIG_ENCODING_ISO_8859_3 ISO 8859-3 ONIG_ENCODING_ISO_8859_4 ISO 8859-4 ONIG_ENCODING_ISO_8859_5 ISO 8859-5 ONIG_ENCODING_ISO_8859_6 ISO 8859-6 ONIG_ENCODING_ISO_8859_7 ISO 8859-7 ONIG_ENCODING_ISO_8859_8 ISO 8859-8 ONIG_ENCODING_ISO_8859_9 ISO 8859-9 ONIG_ENCODING_ISO_8859_10 ISO 8859-10 ONIG_ENCODING_ISO_8859_11 ISO 8859-11 ONIG_ENCODING_ISO_8859_13 ISO 8859-13 ONIG_ENCODING_ISO_8859_14 ISO 8859-14 ONIG_ENCODING_ISO_8859_15 ISO 8859-15 ONIG_ENCODING_ISO_8859_16 ISO 8859-16 ONIG_ENCODING_UTF8 UTF-8 ONIG_ENCODING_UTF16_BE UTF-16BE ONIG_ENCODING_UTF16_LE UTF-16LE ONIG_ENCODING_UTF32_BE UTF-32BE ONIG_ENCODING_UTF32_LE UTF-32LE ONIG_ENCODING_EUC_JP EUC-JP ONIG_ENCODING_EUC_TW EUC-TW ONIG_ENCODING_EUC_KR EUC-KR ONIG_ENCODING_EUC_CN EUC-CN ONIG_ENCODING_SJIS Shift_JIS ONIG_ENCODING_KOI8_R KOI8-R ONIG_ENCODING_CP1251 CP1251 ONIG_ENCODING_BIG5 Big5 ONIG_ENCODING_GB18030 GB18030 ¤Þ¤¿¤Ï¡¢¥æ¡¼¥¶¤¬ÄêµÁ¤·¤¿OnigEncodingType¥Ç¡¼¥¿¤Î¥¢¥É¥ì¥¹ 6 syntax: Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡÄêµÁ ONIG_SYNTAX_ASIS plain text ONIG_SYNTAX_POSIX_BASIC POSIX Basic RE ONIG_SYNTAX_POSIX_EXTENDED POSIX Extended RE ONIG_SYNTAX_EMACS Emacs ONIG_SYNTAX_GREP grep ONIG_SYNTAX_GNU_REGEX GNU regex ONIG_SYNTAX_JAVA Java (Sun java.util.regex) ONIG_SYNTAX_PERL Perl ONIG_SYNTAX_PERL_NG Perl + ̾Á°ÉÕ¤Êá³Í¼°½¸¹ç ONIG_SYNTAX_RUBY Ruby ONIG_SYNTAX_DEFAULT default (== Ruby) onig_set_default_syntax() ¤Þ¤¿¤Ï¡¢¥æ¡¼¥¶¤¬ÄêµÁ¤·¤¿OnigSyntaxType¥Ç¡¼¥¿¤Î¥¢¥É¥ì¥¹ 7 err_info: ¥¨¥é¡¼¾ðÊó¤òÊÖ¤¹¤¿¤á¤Î¥¢¥É¥ì¥¹ onig_error_code_to_str()¤Î»°ÈÖÌܤΰú¿ô¤È¤·¤Æ»ÈÍѤ¹¤ë # int onig_new_without_alloc(regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* err_info) Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È(regex)¤òºîÀ®¤¹¤ë¡£ reg¤ÎÎΰè¤òÆâÉô¤Ç³ä¤êÅö¤Æ¤Ê¤¤¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: ONIG_NORMAL # int onig_new_deluxe(regex_t** reg, const UChar* pattern, const UChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo) Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È(regex)¤òºîÀ®¤¹¤ë¡£ ¤³¤Î´Ø¿ô¤Ï¡¢onig_new()¤Î¥Ç¥é¥Ã¥¯¥¹ÈÇ¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: ONIG_NORMAL °ú¿ô 1 reg: ºîÀ®¤µ¤ì¤¿Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¥¢¥É¥ì¥¹ 2 pattern: Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸ»úÎó 3 pattern_end: Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸ»úÎó¤Î½ªÃ¼¥¢¥É¥ì¥¹(pattern + pattern length) 4 ci: ¥³¥ó¥Ñ¥¤¥ë¾ðÊó ci->num_of_elements: ci¤ÎÍ×ÁÇ¿ô (¸½ºß¤ÎÈǤǤÏ: 5) ci->pattern_enc: ¥Ñ¥¿¡¼¥óʸ»úÎó¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° ci->target_enc: ÂоÝʸ»úÎó¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° ci->syntax: Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡÄêµÁ ci->option: Àµµ¬É½¸½¥³¥ó¥Ñ¥¤¥ë»þ¥ª¥×¥·¥ç¥ó ci->case_fold_flag: ONIG_OPTION_IGNORECASE¥â¡¼¥É¤Ç¤Î ʸ»úÛ£Ëæ¥Þ¥Ã¥Á»ØÄê¥Ó¥Ã¥È¥Õ¥é¥° ONIGENC_CASE_FOLD_MIN: ºÇ¾® ONIGENC_CASE_FOLD_DEFAULT: ºÇ¾® onig_set_default_case_fold_flag() 5 err_info: ¥¨¥é¡¼¾ðÊó¤òÊÖ¤¹¤¿¤á¤Î¥¢¥É¥ì¥¹ onig_error_code_to_str()¤Î»°ÈÖÌܤΰú¿ô¤È¤·¤Æ»ÈÍѤ¹¤ë °Û¤Ê¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎÁȤ߹ç¤ï¤»¤Ï¡¢°Ê²¼¤Î¾ì¹ç¤Ë¤Î¤ßµö¤µ¤ì¤ë¡£ pattern_enc: ASCII, ISO_8859_1 target_enc: UTF16_BE, UTF16_LE, UTF32_BE, UTF32_LE pattern_enc: UTF16_BE/LE target_enc: UTF16_LE/BE pattern_enc: UTF32_BE/LE target_enc: UTF32_LE/BE # void onig_free(regex_t* reg) Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È¤Î¥á¥â¥ê¤ò²òÊü¤¹¤ë¡£ °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È # void onig_free_body(regex_t* reg) Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È¤Î¥á¥â¥ê¤ò²òÊü¤¹¤ë¡£(reg¼«¿È¤ÎÎΰè¤ò½ü¤¤¤Æ) °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È # int onig_search(regex_t* reg, const UChar* str, const UChar* end, const UChar* start, const UChar* range, OnigRegion* region, OnigOptionType option) Àµµ¬É½¸½¤Çʸ»úÎó¤ò¸¡º÷¤·¡¢¸¡º÷·ë²Ì¤È¥Þ¥Ã¥ÁÎΰè¤òÊÖ¤¹¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: ¥Þ¥Ã¥Á°ÌÃÖ (p - str >= 0) ¸¡º÷¼ºÇÔ: ONIG_MISMATCH (< 0) °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È 2 str: ¸¡º÷ÂоÝʸ»úÎó 3 end: ¸¡º÷ÂоÝʸ»úÎó¤Î½ªÃ¼¥¢¥É¥ì¥¹ 4 start: ¸¡º÷ÂоÝʸ»úÎó¤Î¸¡º÷ÀèƬ°ÌÃÖ¥¢¥É¥ì¥¹ 5 range: ¸¡º÷ÂоÝʸ»úÎó¤Î¸¡º÷½ªÎ»°ÌÃÖ¥¢¥É¥ì¥¹ Á°Êýõº÷ (start <= õº÷¤µ¤ì¤ëʸ»úÎó < range) ¸åÊýõº÷ (range <= õº÷¤µ¤ì¤ëʸ»úÎó <= start) 6 region: ¥Þ¥Ã¥ÁÎΰè¾ðÊó(region) (NULL¤âµö¤µ¤ì¤ë) 7 option: ¸¡º÷»þ¥ª¥×¥·¥ç¥ó ONIG_OPTION_NOTBOL ʸ»úÎó¤ÎÀèƬ(str)¤ò¹ÔƬ¤È´ÇÐö¤µ¤Ê¤¤ ONIG_OPTION_NOTEOL ʸ»úÎó¤Î½ªÃ¼(end)¤ò¹ÔËö¤È´ÇÐö¤µ¤Ê¤¤ ONIG_OPTION_POSIX_REGION region°ú¿ô¤òPOSIX API¤Îregmatch_t[]¤Ë¤¹¤ë # int onig_match(regex_t* reg, const UChar* str, const UChar* end, const UChar* at, OnigRegion* region, OnigOptionType option) ʸ»úÎó¤Î»ØÄê°ÌÃ֤ǥޥåÁ¥ó¥°¤ò¹Ô¤¤¡¢·ë²Ì¤È¥Þ¥Ã¥ÁÎΰè¤òÊÖ¤¹¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: ¥Þ¥Ã¥Á¤·¤¿¥Ð¥¤¥ÈĹ (>= 0) not match: ONIG_MISMATCH ( < 0) °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È 2 str: ¸¡º÷ÂоÝʸ»úÎó 3 end: ¸¡º÷ÂоÝʸ»úÎó¤Î½ªÃ¼¥¢¥É¥ì¥¹ 4 at: ¸¡º÷ÂоÝʸ»úÎó¤Î¸¡º÷¥¢¥É¥ì¥¹ 5 region: ¥Þ¥Ã¥ÁÎΰè¾ðÊó(region) (NULL¤âµö¤µ¤ì¤ë) 6 option: ¸¡º÷»þ¥ª¥×¥·¥ç¥ó ONIG_OPTION_NOTBOL ʸ»úÎó¤ÎÀèƬ(str)¤ò¹ÔƬ¤È´ÇÐö¤µ¤Ê¤¤ ONIG_OPTION_NOTEOL ʸ»úÎó¤Î½ªÃ¼(end)¤ò¹ÔËö¤È´ÇÐö¤µ¤Ê¤¤ ONIG_OPTION_POSIX_REGION region°ú¿ô¤òPOSIX API¤Îregmatch_t[]¤Ë¤¹¤ë # OnigRegion* onig_region_new(void) ¥Þ¥Ã¥ÁÎΰè¾ðÊó(region)¤òºîÀ®¤¹¤ë¡£ # void onig_region_free(OnigRegion* region, int free_self) ¥Þ¥Ã¥ÁÎΰè¾ðÊó(region)¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¥á¥â¥ê¤ò²òÊü¤¹¤ë¡£ °ú¿ô 1 region: ¥Þ¥Ã¥ÁÎΰè¾ðÊ󥪥֥¸¥§¥¯¥È 2 free_self: [1: region¼«¿È¤ò´Þ¤á¤ÆÁ´¤Æ²òÊü, 0: region¼«¿È¤Ï²òÊü¤·¤Ê¤¤] # void onig_region_copy(OnigRegion* to, OnigRegion* from) ¥Þ¥Ã¥ÁÎΰè¾ðÊó(region)¤òÊ£À½¤¹¤ë¡£ °ú¿ô 1 to: ÂоÝÎΰè 2 from: ¸µÎΰè # void onig_region_clear(OnigRegion* region) ¥Þ¥Ã¥ÁÎΰè¾ðÊó(region)¤ÎÃæÌ£¤ò¥¯¥ê¥¢¤¹¤ë¡£ °ú¿ô 1 region: ÂоÝÎΰè # int onig_region_resize(OnigRegion* region, int n) ¥Þ¥Ã¥ÁÎΰè¾ðÊó(region)¤ÎÊá³Í¼°½¸¹ç(¥°¥ë¡¼¥×)¿ô¤òÊѹ¹¤¹¤ë¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: ONIG_NORMAL °ú¿ô 1 region: ÂоÝÎΰè 2 n: ¿·¤·¤¤¥µ¥¤¥º # int onig_name_to_group_numbers(regex_t* reg, const UChar* name, const UChar* name_end, int** num_list) »ØÄꤷ¤¿Ì¾Á°¤ËÂФ¹¤ë̾Á°ÉÕ¤Êá³Í¼°½¸¹ç(¥°¥ë¡¼¥×)¤Î ¥°¥ë¡¼¥×ÈÖ¹æ¥ê¥¹¥È¤òÊÖ¤¹¡£ ̾Á°ÉÕ¤Êá³Í¼°½¸¹ç¤Ï¡¢(?<name>....)¤Ë¤è¤Ã¤ÆÄêµÁ¤Ç¤¤ë¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: »ØÄꤵ¤ì¤¿Ì¾Á°¤ËÂФ¹¤ë¥°¥ë¡¼¥×¿ô (Îã /(?<x>..)(?<x>..)/ ==> 2) ̾Á°¤ËÂФ¹¤ë¥°¥ë¡¼¥×¤¬Â¸ºß¤·¤Ê¤¤: -1 °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È 2 name: Êá³Í¼°½¸¹ç(¥°¥ë¡¼¥×)̾ 3 name_end: Êá³Í¼°½¸¹ç(¥°¥ë¡¼¥×)̾¤Î½ªÃ¼¥¢¥É¥ì¥¹ 4 num_list: ÈÖ¹æ¥ê¥¹¥È¤òÊÖ¤¹¥¢¥É¥ì¥¹ # int onig_name_to_backref_number(regex_t* reg, const UChar* name, const UChar* name_end, OnigRegion *region) »ØÄꤵ¤ì¤¿Ì¾Á°¤Î¸åÊý»²¾È(\k<name>)¤ËÂФ¹¤ëÊá³Í¼°½¸¹ç(¥°¥ë¡¼¥×)¤ÎÈÖ¹æ¤òÊÖ¤¹¡£ ̾Á°¤ËÂФ·¤Æ¡¢Ê£¿ô¤Î¥Þ¥Ã¥ÁÎΰ褬͸ú¤Ç¤¢¤ì¤Ð¡¢¤½¤ÎÃæ¤ÎºÇÂç¤ÎÈÖ¹æ¤òÊÖ¤¹¡£ ̾Á°¤ËÂФ¹¤ëÊá³Í¼°½¸¹ç¤¬°ì¸Ä¤·¤«¤Ê¤¤¤È¤¤Ë¤Ï¡¢Âбþ¤¹¤ë¥Þ¥Ã¥ÁÎΰ褬͸ú¤« ¤É¤¦¤«¤Ë´Ø·¸¤Ê¤¯¡¢¤½¤ÎÈÖ¹æ¤òÊÖ¤¹¡£(½¾¤Ã¤Æ¡¢region¤Ë¤ÏNULL¤òÅϤ·¤Æ¤â¤è¤¤¡£) Àµ¾ï½ªÎ»Ìá¤êÃÍ: ÈÖ¹æ °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È 2 name: Êá³Í¼°½¸¹ç(¥°¥ë¡¼¥×)̾ 3 name_end: Êá³Í¼°½¸¹ç(¥°¥ë¡¼¥×)̾¤Î½ªÃ¼¥¢¥É¥ì¥¹ 4 region: search/match·ë²Ì¤Î¥Þ¥Ã¥ÁÎΰè # int onig_foreach_name(regex_t* reg, int (*func)(const UChar*, const UChar*, int,int*,regex_t*,void*), void* arg) Á´¤Æ¤Î̾Á°¤ËÂФ·¤Æ¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô¸Æ¤Ó½Ð¤·¤ò¼Â¹Ô¤¹¤ë¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: 0 ¥¨¥é¡¼: ¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô¤ÎÌá¤êÃÍ °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È 2 func: ¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô func(name, name_end, <number of groups>, <group number's list>, reg, arg); func¤¬0°Ê³°¤ÎÃͤòÊÖ¤¹¤È¡¢¤½¤ì°Ê¹ß¤Î¥³¡¼¥ë¥Ð¥Ã¥¯¤Ï¹Ô¤Ê¤ï¤º¤Ë ½ªÎ»¤¹¤ë¡£ 3 arg: func¤ËÂФ¹¤ëÄɲðú¿ô # int onig_number_of_names(regex_t* reg) ¥Ñ¥¿¡¼¥óÃæ¤ÇÄêµÁ¤µ¤ì¤¿Ì¾Á°¤Î¿ô¤òÊÖ¤¹¡£ °ì¸Ä¤Î̾Á°¤Î¿½ÅÄêµÁ¤Ï°ì¸Ä¤È´ÇÐö¤¹¡£ °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È # OnigEncoding onig_get_encoding(regex_t* reg) # OnigOptionType onig_get_options(regex_t* reg) # OnigCaseFoldType onig_get_case_fold_flag(regex_t* reg) # OnigSyntaxType* onig_get_syntax(regex_t* reg) Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¡¢Âбþ¤¹¤ëÃͤòÊÖ¤¹¡£ °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È # int onig_number_of_captures(regex_t* reg) ¥Ñ¥¿¡¼¥óÃæ¤ÇÄêµÁ¤µ¤ì¤¿Êá³Í¥°¥ë¡¼¥×¤Î¿ô¤òÊÖ¤¹¡£ °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È # int onig_number_of_capture_histories(regex_t* reg) ¥Ñ¥¿¡¼¥óÃæ¤ÇÄêµÁ¤µ¤ì¤¿Êá³ÍÍúÎò(?@...)¤Î¿ô¤òÊÖ¤¹¡£ »ÈÍѤ¹¤ëʸˡ¤ÇÊá³ÍÍúÎòµ¡Ç½¤¬Í¸ú(ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY) ¤Ç¤Ê¤±¤ì¤Ð¡¢Êá³ÍÍúÎòµ¡Ç½¤Ï»ÈÍѤǤ¤Ê¤¤¡£ °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È # OnigCaptureTreeNode* onig_get_capture_tree(OnigRegion* region) Êá³ÍÍúÎò¥Ç¡¼¥¿¤Î¥ë¡¼¥È¥Î¡¼¥É¤òÊÖ¤¹¡£ ¥Þ¥Ã¥Á¤¬¼ºÇÔ¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃͤÏÉÔÄê¤Ç¤¢¤ë¡£ °ú¿ô 1 region: ¥Þ¥Ã¥ÁÎΰè # int onig_capture_tree_traverse(OnigRegion* region, int at, int(*func)(int,int,int,int,int,void*), void* arg) Êá³ÍÍúÎò¥Ç¡¼¥¿ÌÚ¤ò½ä²ó¤·¤Æ¥³¡¼¥ë¥Ð¥Ã¥¯¤¹¤ë¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: 0 ¥¨¥é¡¼: ¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô¤ÎÌá¤êÃÍ °ú¿ô 1 region: ¥Þ¥Ã¥ÁÎΰè 2 at: ¥³¡¼¥ë¥Ð¥Ã¥¯¤ò¹Ô¤Ê¤¦¥¿¥¤¥ß¥ó¥° ONIG_TRAVERSE_CALLBACK_AT_FIRST: ºÇ½é¤Ë¥³¡¼¥ë¥Ð¥Ã¥¯¤·¤Æ¡¢»Ò¥Î¡¼¥É¤ò½ä²ó ONIG_TRAVERSE_CALLBACK_AT_LAST: »Ò¥Î¡¼¥É¤ò½ä²ó¤·¤Æ¡¢¥³¡¼¥ë¥Ð¥Ã¥¯ ONIG_TRAVERSE_CALLBACK_AT_BOTH: ºÇ½é¤Ë¥³¡¼¥ë¥Ð¥Ã¥¯¤·¤Æ¡¢»Ò¥Î¡¼¥É¤ò½ä²ó¡¢ºÇ¸å¤Ë¤â¤¦°ìÅÙ¥³¡¼¥ë¥Ð¥Ã¥¯ 3 func: ¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô func¤¬0°Ê³°¤ÎÃͤòÊÖ¤¹¤È¡¢¤½¤ì°Ê¹ß¤Î½ä²ó¤Ï¹Ô¤Ê¤ï¤º¤Ë ½ªÎ»¤¹¤ë¡£ int func(int group, int beg, int end, int level, int at, void* arg) group: ¥°¥ë¡¼¥×ÈÖ¹æ beg: ¥Þ¥Ã¥Á³«»Ï°ÌÃÖ end ¥Þ¥Ã¥Á½ªÎ»°ÌÃÖ level: ¥Í¥¹¥È¥ì¥Ù¥ë (0¤«¤é) at: ¥³¡¼¥ë¥Ð¥Ã¥¯¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¥¿¥¤¥ß¥ó¥° ONIG_TRAVERSE_CALLBACK_AT_FIRST ONIG_TRAVERSE_CALLBACK_AT_LAST arg: Äɲðú¿ô 4 arg; func¤ËÂФ¹¤ëÄɲðú¿ô # int onig_noname_group_capture_is_active(regex_t* reg) ̾Á°¤Ê¤·¼°½¸¹ç¤ÎÊá³Íµ¡Ç½¤¬Í¸ú¤«¤É¤¦¤«¤òÊÖ¤¹¡£ ͸ú: 1 ̵¸ú: 0 °ú¿ô 1 reg: Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È ¥ª¥×¥·¥ç¥ó¤ÎONIG_OPTION_DONT_CAPTURE_GROUP¤¬ON --> ̵¸ú ¥Ñ¥¿¡¼¥ó¤¬Ì¾Á°¤Ä¤¼°½¸¹ç¤ò»ÈÍѤ·¤Æ¤¤¤ë AND »ÈÍÑʸˡ¤Ç¡¢ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP¤¬ON AND ¥ª¥×¥·¥ç¥ó¤ÎONIG_OPTION_CAPTURE_GROUP¤¬OFF --> ̵¸ú ¾åµ°Ê³°¤Î¾ì¹ç --> ͸ú # UChar* onigenc_get_prev_char_head(OnigEncoding enc, const UChar* start, const UChar* s) ʸ»ú°ì¸ÄʬÁ°¤Îʸ»úÎó°ÌÃÖ¤òÊÖ¤¹¡£ °ú¿ô 1 enc: ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° 2 start: ʸ»úÎó¤ÎÀèƬ¥¢¥É¥ì¥¹ 3 s: ʸ»úÎóÃæ¤Î°ÌÃÖ # UChar* onigenc_get_left_adjust_char_head(OnigEncoding enc, const UChar* start, const UChar* s) ʸ»ú¤ÎÀèƬ¥Ð¥¤¥È°ÌÃ֤ˤʤë¤è¤¦¤Ëº¸Â¦¤ËÄ´À°¤·¤¿¥¢¥É¥ì¥¹¤òÊÖ¤¹¡£ °ú¿ô 1 enc: ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° 2 start: ʸ»úÎó¤ÎÀèƬ¥¢¥É¥ì¥¹ 3 s: ʸ»úÎóÃæ¤Î°ÌÃÖ # UChar* onigenc_get_right_adjust_char_head(OnigEncoding enc, const UChar* start, const UChar* s) ʸ»ú¤ÎÀèƬ¥Ð¥¤¥È°ÌÃ֤ˤʤë¤è¤¦¤Ë±¦Â¦¤ËÄ´À°¤·¤¿¥¢¥É¥ì¥¹¤òÊÖ¤¹¡£ °ú¿ô 1 enc: ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° 2 start: ʸ»úÎó¤ÎÀèƬ¥¢¥É¥ì¥¹ 3 s: ʸ»úÎóÃæ¤Î°ÌÃÖ # int onigenc_strlen(OnigEncoding enc, const UChar* s, const UChar* end) # int onigenc_strlen_null(OnigEncoding enc, const UChar* s) ʸ»úÎó¤Îʸ»ú¿ô¤òÊÖ¤¹¡£ # int onigenc_str_bytelen_null(OnigEncoding enc, const UChar* s) ʸ»úÎó¤Î¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£ # int onig_set_default_syntax(OnigSyntaxType* syntax) ¥Ç¥Õ¥©¥ë¥È¤ÎÀµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡ¤ò¥»¥Ã¥È¤¹¤ë¡£ °ú¿ô 1 syntax: Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡ # void onig_copy_syntax(OnigSyntaxType* to, OnigSyntaxType* from) Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡ¤ò¥³¥Ô¡¼¤¹¤ë¡£ °ú¿ô 1 to: ÂÐ¾Ý 2 from: ¸µ # unsigned int onig_get_syntax_op(OnigSyntaxType* syntax) # unsigned int onig_get_syntax_op2(OnigSyntaxType* syntax) # unsigned int onig_get_syntax_behavior(OnigSyntaxType* syntax) # OnigOptionType onig_get_syntax_options(OnigSyntaxType* syntax) # void onig_set_syntax_op(OnigSyntaxType* syntax, unsigned int op) # void onig_set_syntax_op2(OnigSyntaxType* syntax, unsigned int op2) # void onig_set_syntax_behavior(OnigSyntaxType* syntax, unsigned int behavior) # void onig_set_syntax_options(OnigSyntaxType* syntax, OnigOptionType options) Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡ¤ÎÍ×ÁǤò»²¾È/¼èÆÀ¤¹¤ë¡£ °ú¿ô 1 syntax: Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡ 2 op, op2, behavior, options: Í×ÁǤÎÃÍ # void onig_copy_encoding(OnigEncoding to, OnigOnigEncoding from) ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò¥³¥Ô¡¼¤¹¤ë¡£ °ú¿ô 1 to: ÂÐ¾Ý 2 from: ¸µ # int onig_set_meta_char(OnigSyntaxType* syntax, unsigned int what, OnigCodePoint code) ¥á¥¿Ê¸»ú¤ò»ØÄꤷ¤¿¥³¡¼¥É¥Ý¥¤¥ó¥ÈÃͤ˥»¥Ã¥È¤¹¤ë¡£ ONIG_SYN_OP_VARIABLE_META_CHARACTERS¤¬Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡ¤Ç͸ú¤Ë ¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¨¥¹¥±¡¼¥×ʸ»ú¤ò½ü¤¤¤Æ¡¢¤³¤³¤Ç»ØÄꤷ¤¿¥á¥¿Ê¸»ú¤Ï µ¡Ç½¤·¤Ê¤¤¡£(Áȹþ¤ß¤Îʸˡ¤Ç¤Ï͸ú¤Ë¤·¤Æ¤¤¤Ê¤¤¡£) Àµ¾ï½ªÎ»Ìá¤êÃÍ: ONIG_NORMAL °ú¿ô 1 syntax: ÂоÝʸˡ 2 what: ¥á¥¿Ê¸»úµ¡Ç½¤Î»ØÄê ONIG_META_CHAR_ESCAPE ONIG_META_CHAR_ANYCHAR ONIG_META_CHAR_ANYTIME ONIG_META_CHAR_ZERO_OR_ONE_TIME ONIG_META_CHAR_ONE_OR_MORE_TIME ONIG_META_CHAR_ANYCHAR_ANYTIME 3 code: ¥á¥¿Ê¸»ú¤Î¥³¡¼¥É¥Ý¥¤¥ó¥È ¤Þ¤¿¤Ï ONIG_INEFFECTIVE_META_CHAR. # OnigCaseFoldType onig_get_default_case_fold_flag() ¥Ç¥Õ¥©¥ë¥È¤Îcase fold¥Õ¥é¥°¤ò¼èÆÀ¤¹¤ë¡£ # int onig_set_default_case_fold_flag(OnigCaseFoldType case_fold_flag) ¥Ç¥Õ¥©¥ë¥È¤Îcase fold¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ë¡£ °ú¿ô 1 case_fold_flag: case fold¥Õ¥é¥° # unsigned int onig_get_match_stack_limit_size(void) ¥Þ¥Ã¥Á¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤ÎºÇÂçÃͤòÊÖ¤¹¡£ (¥Ç¥Õ¥©¥ë¥È: 0 == ̵À©¸Â) # int onig_set_match_stack_limit_size(unsigned int size) ¥Þ¥Ã¥Á¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤ÎºÇÂçÃͤò»ØÄꤹ¤ë¡£ (size = 0: ̵À©¸Â) Àµ¾ï½ªÎ»Ìá¤êÃÍ: ONIG_NORMAL # int onig_end(void) ¥é¥¤¥Ö¥é¥ê¤Î»ÈÍѤò½ªÎ»¤¹¤ë¡£ Àµ¾ï½ªÎ»Ìá¤êÃÍ: ONIG_NORMAL onig_init()¤òºÆÅٸƤӽФ·¤Æ¤â¡¢°ÊÁ°¤ËºîÀ®¤·¤¿Àµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£ # const char* onig_version(void) ¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤òÊÖ¤¹¡£(Îã "5.0.3") // END