diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/API.ja | 562 | ||||
-rw-r--r-- | doc/FAQ.ja | 14 | ||||
-rw-r--r-- | doc/RE | 7 | ||||
-rw-r--r-- | doc/RE.ja | 482 |
4 files changed, 538 insertions, 527 deletions
@@ -1,89 +1,89 @@ -鬼車インターフェース Version 6.1.0 2016/08/22 +薔取ゃ潟帥若с若 Version 6.1.0 2016/08/22 #include <oniguruma.h> # int onig_initialize(OnigEncoding use_encodings[], int num_encodings) - ライブラリの初期化 - 最初に呼び出す必要がある。 + ゃ + 若喝冴綽荀 - * onig_init() は廃止 + * onig_init() 綮罩 - 引数 - 1 use_encodings: 使用する文字エンコーディングの配列 - 2 num_encodings: 文字エンコーディングの数 + 綣 + 1 use_encodings: 篏睡絖潟潟若c潟違 + 2 num_encodings: 絖潟潟若c潟違 # int onig_error_code_to_str(UChar* err_buf, int err_code, ...) - エラーメッセージを取得する。 + 若<祉若吾緇 - この関数を、onig_new()の結果に対して呼び出す場合には、onig_new()のpattern引数を - メモリ解放するよりも前に呼び出さなければならない。 + ∽違onig_new()腟絲障若喝冴翫onig_new()pattern綣違 + <≪茹f障若喝冴違 - 正常終了戻り値: エラーメッセージ文字列のバイト長 + 罩e幻腟篋祉: 若<祉若御絖ゃ - 引数 - 1 err_buf: エラーメッセージを格納する領域 - (必要なサイズ: ONIG_MAX_ERROR_MESSAGE_LEN) - 2 err_code: エラーコード - 3 err_info (optional): onig_new()のerr_info + 綣 + 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) + 綣 + 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) + 綣 + 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)を作成する。 + 罩h頫憗吾с(regex)篏 - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL - 引数 - 1 reg: 作成された正規表現オブジェクトを返すアドレス - 2 pattern: 正規表現パターン文字列 - 3 pattern_end: 正規表現パターン文字列の終端アドレス(pattern + pattern length) - 4 option: 正規表現コンパイル時オプション + 綣 + 1 reg: 篏罩h頫憗吾с菴≪ + 2 pattern: 罩h頫憗帥若恰絖 + 3 pattern_end: 罩h頫憗帥若恰絖腟腴≪(pattern + pattern length) + 4 option: 罩h頫憗潟潟ゃ激с - ONIG_OPTION_NONE オプションなし + 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_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_SYNTAX_PERL, ONIG_SYNTAX_PERL_NG, ONIG_SYNTAX_JAVA + ф鴻ONIG_OPTION_SINGLELINE≪ - ONIG_OPTION_DONT_CAPTURE_GROUP 名前付き捕獲式集合のみ捕獲 - ONIG_OPTION_CAPTURE_GROUP 名前無し捕獲式集合も捕獲 + ONIG_OPTION_DONT_CAPTURE_GROUP 篁峨炊 + ONIG_OPTION_CAPTURE_GROUP <峨 - 5 enc: 文字エンコーディング + 5 enc: 絖潟潟若c潟 ONIG_ENCODING_ASCII ASCII ONIG_ENCODING_ISO_8859_1 ISO 8859-1 @@ -116,9 +116,9 @@ ONIG_ENCODING_BIG5 Big5 ONIG_ENCODING_GB18030 GB18030 - または、ユーザが定義したOnigEncodingTypeデータのアドレス + 障若吟絎臂OnigEncodingType若帥≪ - 6 syntax: 正規表現パターン文法定義 + 6 syntax: 罩h頫憗帥若恰羈絎臂 ONIG_SYNTAX_ASIS plain text ONIG_SYNTAX_POSIX_BASIC POSIX Basic RE @@ -128,15 +128,15 @@ 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_PERL_NG Perl + 篁峨 ONIG_SYNTAX_RUBY Ruby ONIG_SYNTAX_DEFAULT default (== Ruby) onig_set_default_syntax() - または、ユーザが定義したOnigSyntaxTypeデータのアドレス + 障若吟絎臂OnigSyntaxType若帥≪ - 7 err_info: エラー情報を返すためのアドレス - onig_error_code_to_str()の三番目の引数として使用する + 7 err_info: 惹宴菴≪ + onig_error_code_to_str()筝綣違篏睡 @@ -145,44 +145,44 @@ OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* err_info) - 正規表現オブジェクト(regex)を作成する。 - regの領域を内部で割り当てない。 + 罩h頫憗吾с(regex)篏 + regу蚊綵 - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL # int onig_new_deluxe(regex_t** reg, const UChar* pattern, const UChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo) - 正規表現オブジェクト(regex)を作成する。 - この関数は、onig_new()のデラックス版。 + 罩h頫憗吾с(regex)篏 + ∽違onig_new()合 - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL - 引数 - 1 reg: 作成された正規表現オブジェクトを返すアドレス - 2 pattern: 正規表現パターン文字列 - 3 pattern_end: 正規表現パターン文字列の終端アドレス(pattern + pattern length) - 4 ci: コンパイル情報 + 綣 + 1 reg: 篏罩h頫憗吾с菴≪ + 2 pattern: 罩h頫憗帥若恰絖 + 3 pattern_end: 罩h頫憗帥若恰絖腟腴≪(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モードでの - 文字曖昧マッチ指定ビットフラグ + ci->num_of_elements: ci荀膣 (憜с: 5) + ci->pattern_enc: 帥若恰絖絖潟潟若c潟 + ci->target_enc: 絲乗院絖絖潟潟若c潟 + ci->syntax: 罩h頫憗帥若恰羈絎臂 + ci->option: 罩h頫憗潟潟ゃ激с + ci->case_fold_flag: ONIG_OPTION_IGNORECASE≪若с + 絖с絎 - ONIGENC_CASE_FOLD_MIN: 最小 - ONIGENC_CASE_FOLD_DEFAULT: 最小 + ONIGENC_CASE_FOLD_MIN: 絨 + ONIGENC_CASE_FOLD_DEFAULT: 絨 onig_set_default_case_fold_flag() - 5 err_info: エラー情報を返すためのアドレス - onig_error_code_to_str()の三番目の引数として使用する + 5 err_info: 惹宴菴≪ + onig_error_code_to_str()筝綣違篏睡 - 異なる文字エンコーディングの組み合わせは、以下の場合にのみ許される。 + 違絖潟潟若c潟違腟水篁ヤ翫粋┗ pattern_enc: ASCII, ISO_8859_1 target_enc: UTF16_BE, UTF16_LE, UTF32_BE, UTF32_LE @@ -196,64 +196,64 @@ # void onig_free(regex_t* reg) - 正規表現オブジェクトのメモリを解放する。 + 罩h頫憗吾с<≪茹f障 - 引数 - 1 reg: 正規表現オブジェクト + 綣 + 1 reg: 罩h頫憗吾с # void onig_free_body(regex_t* reg) - 正規表現オブジェクトのメモリを解放する。(reg自身の領域を除いて) + 罩h頫憗吾с<≪茹f障(reg荳ゃ) - 引数 - 1 reg: 正規表現オブジェクト + 綣 + 1 reg: 罩h頫憗吾с # int onig_search(regex_t* reg, const UChar* str, const UChar* end, const UChar* start, const UChar* range, OnigRegion* region, OnigOptionType option) - 正規表現で文字列を検索し、検索結果とマッチ領域を返す。 + 罩h頫憗ф絖罎膣≪罎膣∝菴 - 正常終了戻り値: マッチ位置 (p - str >= 0) - 検索失敗: ONIG_MISMATCH (< 0) + 罩e幻腟篋祉: 篏臀 (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: 検索時オプション + 綣 + 1 reg: 罩h頫憗吾с + 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[]にする + ONIG_OPTION_NOTBOL 絖(str)茵 + ONIG_OPTION_NOTEOL 絖腟腴(end)茵 + ONIG_OPTION_POSIX_REGION region綣違POSIX APIregmatch_t[] # int onig_match(regex_t* reg, const UChar* str, const UChar* end, const UChar* at, OnigRegion* region, OnigOptionType option) - 文字列の指定位置でマッチングを行い、結果とマッチ領域を返す。 + 絖絎篏臀с潟違茵腟菴 - 正常終了戻り値: マッチしたバイト長 (>= 0) + 罩e幻腟篋祉: ゃ (>= 0) not match: ONIG_MISMATCH ( < 0) - 引数 - 1 reg: 正規表現オブジェクト - 2 str: 検索対象文字列 - 3 end: 検索対象文字列の終端アドレス - 4 at: 検索対象文字列の検索アドレス - 5 region: マッチ領域情報(region) (NULLも許される) - 6 option: 検索時オプション + 綣 + 1 reg: 罩h頫憗吾с + 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[]にする + ONIG_OPTION_NOTBOL 絖(str)茵 + ONIG_OPTION_NOTEOL 絖腟腴(end)茵 + ONIG_OPTION_POSIX_REGION region綣違POSIX APIregmatch_t[] # int onig_scan(regex_t* reg, const UChar* str, const UChar* end, @@ -261,127 +261,127 @@ int (*scan_callback)(int, int, OnigRegion*, void*), void* callback_arg) - 正規表現で文字列をスキャンして、マッチングする毎にコールバック関数を呼び出す。 + 罩h頫憗ф絖鴻c潟潟違罸潟若∽違若喝冴 - 正常終了: マッチ回数 (0回も含める) - エラー: エラーコード (< 0) - 中断: コールバック関数が0以外の戻り値を返したとき、その値を戻り値として中断 + 罩e幻腟篋: (0) + : 若潟若 (< 0) + 筝: 潟若∽違鐚篁ュ祉ゃ菴ゃ祉ゃ筝 - 引数 - 1 reg: 正規表現オブジェクト - 2 str: 検索対象文字列 - 3 end: 検索対象文字列の終端アドレス - 4 region: マッチ領域情報(region) (NULLも許される) - 5 option: 検索時オプション - 6 scan_callback: コールバック関数 - 7 callback_arg: コールバック関数に渡される付加引数値 + 綣 + 1 reg: 罩h頫憗吾с + 2 str: 罎膣√乗院絖 + 3 end: 罎膣√乗院絖腟腴≪ + 4 region: (region) (NULL荐宴) + 5 option: 罎膣∽激с + 6 scan_callback: 潟若∽ + 7 callback_arg: 潟若∽違羝<篁綣医 # OnigRegion* onig_region_new(void) - マッチ領域情報(region)を作成する。 + (region)篏 # void onig_region_free(OnigRegion* region, int free_self) - マッチ領域情報(region)で使用されているメモリを解放する。 + (region)т戎<≪茹f障 - 引数 - 1 region: マッチ領域情報オブジェクト - 2 free_self: [1: region自身を含めて全て解放, 0: region自身は解放しない] + 綣 + 1 region: 宴吾с + 2 free_self: [1: region荳茹f, 0: region荳茹f障] # void onig_region_copy(OnigRegion* to, OnigRegion* from) - マッチ領域情報(region)を複製する。 + (region)茲茖純 - 引数 - 1 to: 対象領域 - 2 from: 元領域 + 綣 + 1 to: 絲乗院 + 2 from: # void onig_region_clear(OnigRegion* region) - マッチ領域情報(region)の中味をクリアする。 + (region)筝潟≪ - 引数 - 1 region: 対象領域 + 綣 + 1 region: 絲乗院 # int onig_region_resize(OnigRegion* region, int n) - マッチ領域情報(region)の捕獲式集合(グループ)数を変更する。 + (region)峨(違若)違紊眼 - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL - 引数 - 1 region: 対象領域 - 2 n: 新しいサイズ + 綣 + 1 region: 絲乗院 + 2 n: 違泣ゃ # int onig_name_to_group_numbers(regex_t* reg, const UChar* name, const UChar* name_end, int** num_list) - 指定した名前に対する名前付き捕獲式集合(グループ)の - グループ番号リストを返す。 - 名前付き捕獲式集合は、(?<name>....)によって定義できる。 + 絎絲障篁峨(違若) + 違若垩鴻菴 + 篁峨(?<name>....)c絎臂с - 正常終了戻り値: 指定された名前に対するグループ数 - (例 /(?<x>..)(?<x>..)/ ==> 2) - 名前に対するグループが存在しない: -1 + 罩e幻腟篋祉: 絎絲障違若 + (箴 /(?<x>..)(?<x>..)/ ==> 2) + 絲障違若絖: -1 - 引数 - 1 reg: 正規表現オブジェクト - 2 name: 捕獲式集合(グループ)名 - 3 name_end: 捕獲式集合(グループ)名の終端アドレス - 4 num_list: 番号リストを返すアドレス + 綣 + 1 reg: 罩h頫憗吾с + 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を渡してもよい。) + 絎緇劫(\k<name>)絲障峨(違若)垩菴 + 絲障茲違鴻с違筝紊с垩菴 + 絲障峨筝絲上鴻 + ≫垩菴(緇cregionNULL羝<) - 正常終了戻り値: 番号 + 罩e幻腟篋祉: - 引数 - 1 reg: 正規表現オブジェクト - 2 name: 捕獲式集合(グループ)名 - 3 name_end: 捕獲式集合(グループ)名の終端アドレス - 4 region: search/match結果のマッチ領域 + 綣 + 1 reg: 罩h頫憗吾с + 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 - エラー: コールバック関数の戻り値 + 罩e幻腟篋祉: 0 + : 潟若∽違祉 - 引数 - 1 reg: 正規表現オブジェクト - 2 func: コールバック関数 + 綣 + 1 reg: 罩h頫憗吾с + 2 func: 潟若∽ func(name, name_end, <number of groups>, <group number's list>, reg, arg); - funcが0以外の値を返すと、それ以降のコールバックは行なわずに - 終了する。 + func0篁ュゃ菴篁ラ潟若茵 + 腟篋 - 3 arg: funcに対する追加引数 + 3 arg: func絲障菴遵綣 # int onig_number_of_names(regex_t* reg) - パターン中で定義された名前の数を返す。 - 一個の名前の多重定義は一個と看做す。 + 帥若割賢у臂違菴 + 筝紊絎臂筝 - 引数 - 1 reg: 正規表現オブジェクト + 綣 + 1 reg: 罩h頫憗吾с # OnigEncoding onig_get_encoding(regex_t* reg) @@ -389,157 +389,157 @@ # OnigCaseFoldType onig_get_case_fold_flag(regex_t* reg) # OnigSyntaxType* onig_get_syntax(regex_t* reg) - 正規表現オブジェクトに対して、対応する値を返す。 + 罩h頫憗吾с絲障絲上ゃ菴 - 引数 - 1 reg: 正規表現オブジェクト + 綣 + 1 reg: 罩h頫憗吾с # int onig_number_of_captures(regex_t* reg) - パターン中で定義された捕獲グループの数を返す。 + 帥若割賢у臂蚊違若違菴 - 引数 - 1 reg: 正規表現オブジェクト + 綣 + 1 reg: 罩h頫憗吾с # int onig_number_of_capture_histories(regex_t* reg) - パターン中で定義された捕獲履歴(?@...)の数を返す。 + 帥若割賢у臂峨吋罩(?@...)違菴 - 使用する文法で捕獲履歴機能が有効(ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY) - でなければ、捕獲履歴機能は使用できない。 + 篏睡羈ф峨吋罩贋純(ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY) + с違峨吋罩贋純篏睡с - 引数 - 1 reg: 正規表現オブジェクト + 綣 + 1 reg: 罩h頫憗吾с # OnigCaptureTreeNode* onig_get_capture_tree(OnigRegion* region) - 捕獲履歴データのルートノードを返す。 + 峨吋罩眼若帥若若菴 - マッチが失敗している場合には、この値は不定である。 + 紊掩翫ゃ筝絎с - 引数 - 1 region: マッチ領域 + 綣 + 1 region: # int onig_capture_tree_traverse(OnigRegion* region, int at, int(*func)(int,int,int,int,int,void*), void* arg) - 捕獲履歴データ木を巡回してコールバックする。 + 峨吋罩眼若炊綏≦潟若 - 正常終了戻り値: 0 - エラー: コールバック関数の戻り値 + 罩e幻腟篋祉: 0 + : 潟若∽違祉 - 引数 - 1 region: マッチ領域 - 2 at: コールバックを行なうタイミング + 綣 + 1 region: + 2 at: 潟若茵帥ゃ潟 ONIG_TRAVERSE_CALLBACK_AT_FIRST: - 最初にコールバックして、子ノードを巡回 + 潟若絖若綏≦ ONIG_TRAVERSE_CALLBACK_AT_LAST: - 子ノードを巡回して、コールバック + 絖若綏≦潟若 ONIG_TRAVERSE_CALLBACK_AT_BOTH: - 最初にコールバックして、子ノードを巡回、最後にもう一度コールバック + 潟若絖若綏≦緇筝綺潟若 - 3 func: コールバック関数 - funcが0以外の値を返すと、それ以降の巡回は行なわずに - 終了する。 + 3 func: 潟若∽ + func0篁ュゃ菴篁ラ綏≦茵 + 腟篋 int func(int group, int beg, int end, int level, int at, void* arg) - group: グループ番号 - beg: マッチ開始位置 - end マッチ終了位置 - level: ネストレベル (0から) - at: コールバックが呼び出されたタイミング + group: 違若 + beg: 紮篏臀 + end 腟篋篏臀 + level: 鴻 (0) + at: 潟若若喝冴帥ゃ潟 ONIG_TRAVERSE_CALLBACK_AT_FIRST ONIG_TRAVERSE_CALLBACK_AT_LAST - arg: 追加引数 + arg: 菴遵綣 - 4 arg; funcに対する追加引数 + 4 arg; func絲障菴遵綣 # int onig_noname_group_capture_is_active(regex_t* reg) - 名前なし式集合の捕獲機能が有効かどうかを返す。 + 綣我純鴻菴 - 有効: 1 - 無効: 0 + : 1 + ≦: 0 - 引数 - 1 reg: 正規表現オブジェクト + 綣 + 1 reg: 罩h頫憗吾с - オプションのONIG_OPTION_DONT_CAPTURE_GROUPがON --> 無効 + 激с潟ONIG_OPTION_DONT_CAPTURE_GROUPON --> ≦ - パターンが名前つき式集合を使用している - AND 使用文法で、ONIG_SYN_CAPTURE_ONLY_NAMED_GROUPがON - AND オプションのONIG_OPTION_CAPTURE_GROUPがOFF - --> 無効 + 帥若潟ゃ綣篏睡 + AND 篏睡羈сONIG_SYN_CAPTURE_ONLY_NAMED_GROUPON + AND 激с潟ONIG_OPTION_CAPTURE_GROUPOFF + --> ≦ - 上記以外の場合 --> 有効 + 筝荐篁ュ翫 --> # UChar* onigenc_get_prev_char_head(OnigEncoding enc, const UChar* start, const UChar* s) - 文字一個分前の文字列位置を返す。 + 絖筝絖篏臀菴 - 引数 - 1 enc: 文字エンコーディング - 2 start: 文字列の先頭アドレス - 3 s: 文字列中の位置 + 綣 + 1 enc: 絖潟潟若c潟 + 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: 文字列中の位置 + 綣 + 1 enc: 絖潟潟若c潟 + 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: 文字列中の位置 + 綣 + 1 enc: 絖潟潟若c潟 + 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) - デフォルトの正規表現パターン文法をセットする。 + 罩h頫憗帥若恰羈祉 - 引数 - 1 syntax: 正規表現パターン文法 + 綣 + 1 syntax: 罩h頫憗帥若恰羈 # void onig_copy_syntax(OnigSyntaxType* to, OnigSyntaxType* from) - 正規表現パターン文法をコピーする。 + 罩h頫憗帥若恰羈潟若 - 引数 - 1 to: 対象 - 2 from: 元 + 綣 + 1 to: 絲乗院 + 2 from: # unsigned int onig_get_syntax_op(OnigSyntaxType* syntax) @@ -552,35 +552,35 @@ # void onig_set_syntax_behavior(OnigSyntaxType* syntax, unsigned int behavior) # void onig_set_syntax_options(OnigSyntaxType* syntax, OnigOptionType options) - 正規表現パターン文法の要素を参照/取得する。 + 罩h頫憗帥若恰羈荀膣/緇 - 引数 - 1 syntax: 正規表現パターン文法 - 2 op, op2, behavior, options: 要素の値 + 綣 + 1 syntax: 罩h頫憗帥若恰羈 + 2 op, op2, behavior, options: 荀膣 # void onig_copy_encoding(OnigEncoding to, OnigEncoding from) - 文字エンコーディングをコピーする。 + 絖潟潟若c潟違潟若 - 引数 - 1 to: 対象 - 2 from: 元 + 綣 + 1 to: 絲乗院 + 2 from: # int onig_set_meta_char(OnigSyntaxType* syntax, unsigned int what, OnigCodePoint code) - メタ文字を指定したコードポイント値にセットする。 - ONIG_SYN_OP_VARIABLE_META_CHARACTERSが正規表現パターン文法で有効に - なっていない場合には、エスケープ文字を除いて、ここで指定したメタ文字は - 機能しない。(組込みの文法では有効にしていない。) + <炊絖絎潟若ゃ潟ゃ祉 + ONIG_SYN_OP_VARIABLE_META_CHARACTERS罩h頫憗帥若恰羈ф鴻 + c翫鴻宴若絖ゃф絎<炊絖 + 罘純(腟莨若帥羈с鴻) - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL - 引数 - 1 syntax: 対象文法 - 2 what: メタ文字機能の指定 + 綣 + 1 syntax: 絲乗院羈 + 2 what: <炊絖罘純絎 ONIG_META_CHAR_ESCAPE ONIG_META_CHAR_ANYCHAR @@ -589,79 +589,79 @@ ONIG_META_CHAR_ONE_OR_MORE_TIME ONIG_META_CHAR_ANYCHAR_ANYTIME - 3 code: メタ文字のコードポイント または ONIG_INEFFECTIVE_META_CHAR. + 3 code: <炊絖潟若ゃ潟 障 ONIG_INEFFECTIVE_META_CHAR. # OnigCaseFoldType onig_get_default_case_fold_flag() - デフォルトのcase foldフラグを取得する。 + case fold違緇 # int onig_set_default_case_fold_flag(OnigCaseFoldType case_fold_flag) - デフォルトのcase foldフラグをセットする。 + case fold違祉 - 引数 - 1 case_fold_flag: case foldフラグ + 綣 + 1 case_fold_flag: case fold # unsigned int onig_get_match_stack_limit_size(void) - マッチスタックサイズの最大値を返す。 - (デフォルト: 0 == 無制限) + 鴻帥泣ゃ冴紊уゃ菴 + (: 0 == ≦狗) # int onig_set_match_stack_limit_size(unsigned int size) - マッチスタックサイズの最大値を指定する。 - (size = 0: 無制限) + 鴻帥泣ゃ冴紊уゃ絎 + (size = 0: ≦狗) - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL # int onig_unicode_define_user_property(const char* name, OnigCodePoint* ranges)) - 新しいUnicodeプロパティを定義する。 - (この関数はスレッドセーフではない) + 違Unicodec絎臂 + (∽違鴻祉若с) - 引数 - 1 name: プロパティ名 (ASCIIコードのみ。 文字 ' ', '-', '_' は無視される。) - 2 ranges: プロパティコードポイント範囲 - (最初の要素は範囲の数) + 綣 + 1 name: e (ASCII潟若帥 絖 ' ', '-', '_' ∴) + 2 ranges: c潟若ゃ潟膀 + (荀膣膀蚊) [num-of-ranges, 1st-range-start, 1st-range-end, 2nd-range-start... ] - * この関数を呼んだ後で、rangesを変更/破壊しないこと + * ∽違若緇сranges紊/翫 - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL # unsigned int onig_get_parse_depth_limit(void) - 再帰パース処理の最大深さを返す。 - (デフォルト: regint.h で定義されている DEFAULT_PARSE_DEPTH_LIMIT。現在は 4096) + 絽違若劫紊ф訓菴 + (: regint.h у臂 DEFAULT_PARSE_DEPTH_LIMIT憜 4096) # int onig_set_parse_depth_limit(unsigned int depth) - 再帰パース処理の最大深さを指定する。 - (depth = 0: regint.h で定義されたデフォルト値に設定する。) + 絽違若劫紊ф訓絎 + (depth = 0: regint.h у臂ゃ荐絎) - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL # int onig_end(void) - ライブラリの使用を終了する。 + ゃ篏睡腟篋 - 正常終了戻り値: ONIG_NORMAL + 罩e幻腟篋祉: ONIG_NORMAL - onig_init()を再度呼び出しても、以前に作成した正規表現オブジェクト - を使用することはできない。 + onig_init()綺若喝冴篁ュ篏罩h頫憗吾с + 篏睡с # const char* onig_version(void) - バージョン文字列を返す。(例 "5.0.3") + 若吾с恰絖菴(箴 "5.0.3") // END @@ -1,22 +1,22 @@ FAQ 2016/04/06 -1. 最長マッチ +1. 激 - onig_new()の中で、ONIG_OPTION_FIND_LONGESTオプション - を使用すれば最長マッチになる。 + onig_new()筝сONIG_OPTION_FIND_LONGEST激с + 篏睡井激 2. CR + LF - DOSの改行(CR(0x0c) + LF(0x0a)の連続) + DOS壕(CR(0x0c) + LF(0x0a)g) - regenc.hの中の、以下の部分を有効にする。 + regenc.h筝篁ヤ鴻 /* #define USE_CRNL_AS_LINE_TERMINATOR */ -3. メーリングリスト +3. <若潟違鴻 - 鬼車に関するメーリングリストは存在しない。 + 薔取≪<若潟違鴻絖 //END @@ -1,4 +1,4 @@ -Oniguruma Regular Expressions Version 6.3.0 2017/05/19 +Oniguruma Regular Expressions Version 6.4.0 2017/06/28 syntax: ONIG_SYNTAX_RUBY (default) @@ -237,6 +237,8 @@ syntax: ONIG_SYNTAX_RUBY (default) \n \k<n> \k'n' (n >= 1) backreference the nth group in the regexp \k<-n> \k'-n' (n >= 1) backreference the nth group counting backwards from the referring position + \k<+n> \k'+n' (n >= 1) backreference the nth group counting + forwards from the referring position \k<name> \k'name' backreference a group with the specified name When backreferencing with a name that is assigned to more than one groups, @@ -286,8 +288,11 @@ syntax: ONIG_SYNTAX_RUBY (default) that group." \g<n> \g'n' (n >= 1) call the nth group + \g<0> \g'0' call zero (call the total regexp) \g<-n> \g'-n' (n >= 1) call the nth group counting backwards from the calling position + \g<+n> \g'+n' (n >= 1) call the nth group counting forwards from + the calling position \g<name> \g'name' call the group with the specified name * Left-most recursive calls are not allowed. @@ -1,74 +1,74 @@ -鬼車 正規表現 Version 6.3.0 2017/05/19 +薔取 罩h頫 Version 6.4.0 2017/06/28 -使用文法: ONIG_SYNTAX_RUBY (既定値) +篏睡羈: ONIG_SYNTAX_RUBY (√) -1. 基本要素 +1. 堺荀膣 - \ 退避修飾 (エスケープ) 正規表現記号の有効/無効の制御 - | 選択子 - (...) 式集合 (グループ) - [...] 文字集合 (文字クラス) + \ 推信蕋 (鴻宴若) 罩h頫憠垩/≦鴻九勝 + | 御絖 + (...) 綣 (違若) + [...] 絖 (絖) -2. 文字 +2. 絖 - \t 水平タブ (0x09) - \v 垂直タブ (0x0B) - \n 改行 (0x0A) - \r 復帰 (0x0D) - \b 後退空白 (0x08) - \f 改頁 (0x0C) - \a 鐘 (0x07) - \e 退避修飾 (0x1B) - \nnn 八進数表現 符号化バイト値(の一部) - \o{17777777777} 拡張八進数表現 コードポイント値 - \xHH 十六進数表現 符号化バイト値(の一部) - \x{7HHHHHHH} 拡張十六進数表現 コードポイント値 - \cx 制御文字表現 コードポイント値 - \C-x 制御文字表現 コードポイント値 - \M-x 超 (x|0x80) コードポイント値 - \M-\C-x 超 + 制御文字表現 コードポイント値 + \t 羂翫抗帥 (0x09) + \v 眼帥 (0x0B) + \n 壕 (0x0A) + \r 緇絽 (0x0D) + \b 緇腥榊 (0x08) + \f 拷 (0x0C) + \a (0x07) + \e 推信蕋 (0x1B) + \nnn 我域; 膃垸ゃ(筝) + \o{17777777777} ≦宍我域; 潟若ゃ潟 + \xHH 我域; 膃垸ゃ(筝) + \x{7HHHHHHH} ≦宍我域; 潟若ゃ潟 + \cx 九勝絖茵 潟若ゃ潟 + \C-x 九勝絖茵 潟若ゃ潟 + \M-x 莇 (x|0x80) 潟若ゃ潟 + \M-\C-x 莇 + 九勝絖茵 潟若ゃ潟 - ※ \bは、文字集合内でのみ有効 + \b絖с炊 -3. 文字種 +3. 絖腮 - . 任意文字 (改行を除く) + . 篁紙絖 (壕ゃ) - \w 単語構成文字 + \w 茯罕絖 - Unicode以外の場合: - 英数字, "_" および 多バイト文字。 + Unicode篁ュ翫: + 掩医, "_" 紊ゃ絖 - Unicodeの場合: + Unicode翫: General_Category -- (Letter|Mark|Number|Connector_Punctuation) - \W 非単語構成文字 + \W 茯罕絖 - \s 空白文字 + \s 腥榊醇絖 - Unicode以外の場合: + Unicode篁ュ翫: \t, \n, \v, \f, \r, \x20 - Unicodeの場合: + Unicode翫: 0009, 000A, 000B, 000C, 000D, 0085(NEL), General_Category -- Line_Separator -- Paragraph_Separator -- Space_Separator - \S 非空白文字 + \S 腥榊醇絖 - \d 10進数字 + \d 10我医 - Unicodeの場合: General_Category -- Decimal_Number + Unicode翫: General_Category -- Decimal_Number - \D 非10進数字 + \D 10我医 - \h 16進数字 [0-9a-fA-F] + \h 16我医 [0-9a-fA-F] - \H 非16進数字 + \H 16我医 Character Property @@ -79,95 +79,95 @@ property-name: - + 全てのエンコーディングで有効 + + 潟潟若c潟違ф Alnum, Alpha, Blank, Cntrl, Digit, Graph, Lower, Print, Punct, Space, Upper, XDigit, Word, ASCII, - + EUC-JP, Shift_JISで有効 + + EUC-JP, Shift_JISф Hiragana, Katakana - + UTF8, UTF16, UTF32で有効 - doc/UNICODE_PROPERTIES参照 + + UTF8, UTF16, UTF32ф + doc/UNICODE_PROPERTIES -4. 量指定子 +4. 絎絖 - 欲張り + 罨峨宍 - ? 一回または零回 - * 零回以上 - + 一回以上 - {n,m} n回以上m回以下 - {n,} n回以上 - {,n} 零回以上n回以下 ({0,n}) - {n} n回 + ? 筝障九 + * 九篁ヤ + + 筝篁ヤ + {n,m} n篁ヤm篁ヤ + {n,} n篁ヤ + {,n} 九篁ヤn篁ヤ ({0,n}) + {n} n - 無欲 + ≧ - ?? 一回または零回 - *? 零回以上 - +? 一回以上 - {n,m}? n回以上m回以下 - {n,}? n回以上 - {,n}? 零回以上n回以下 (== {0,n}?) + ?? 筝障九 + *? 九篁ヤ + +? 筝篁ヤ + {n,m}? n篁ヤm篁ヤ + {n,}? n篁ヤ + {,n}? 九篁ヤn篁ヤ (== {0,n}?) - 強欲 (欲張りで、繰り返しに成功した後は回数を減らすような後退再試行をしない) + 綣傑 (罨峨宍с膵違菴緇違羝緇荅茵) - ?+ 一回または零回 - *+ 零回以上 - ++ 一回以上 + ?+ 筝障九 + *+ 九篁ヤ + ++ 筝篁ヤ - ({n,m}+, {n,}+, {n}+ は、ONIG_SYNTAX_JAVAでのみ強欲な指定子) + ({n,m}+, {n,}+, {n}+ ONIG_SYNTAX_JAVAс水七罨蚊絎絖) - 例. /a*+/ === /(?>a*)/ + 箴. /a*+/ === /(?>a*)/ -5. 錨 +5. - ^ 行頭 - $ 行末 - \b 単語境界 - \B 非単語境界 - \A 文字列先頭 - \Z 文字列末尾、または文字列末尾の改行の直前 - \z 文字列末尾 - \G 照合開始位置 + ^ 茵 + $ 茵 + \b 茯紜 + \B 茯紜 + \A 絖 + \Z 絖絨障障絖絨障壕翫 + \z 絖絨 + \G у紮篏臀 -6. 文字集合 +6. 絖 - ^... 否定 (最低優先度演算子) - x-y 範囲 (xからyまで) - [...] 集合 (文字集合内文字集合) - ..&&.. 積演算 (^の次に優先度が低い演算子) + ^... 絎 (篏綺羲膊絖) + x-y 膀 (xy障) + [...] (絖絖) + ..&&.. 腥羲膊 (^罨<綺篏羲膊絖) - 例. [a-w&&[^c-g]z] ==> ([a-w] and ([^c-g] or z)) ==> [abh-w] + 箴. [a-w&&[^c-g]z] ==> ([a-w] and ([^c-g] or z)) ==> [abh-w] - ※ '[', '-', ']'を、文字集合内で通常文字の意味で使用したい場合には、 - これらの文字を'\'で退避修飾しなければならない。 + '[', '-', ']'絖ч絽御絖潟т戎翫 + 絖'\'ч推信蕋障違 - POSIXブラケット ([:xxxxx:], 否定 [:^xxxxx:]) + POSIX宴 ([:xxxxx:], 絎 [:^xxxxx:]) - Unicode以外の場合: + Unicode篁ュ翫: - alnum 英数字 - alpha 英字 + alnum 掩医 + alpha 怨 ascii 0 - 127 blank \t, \x20 cntrl digit 0-9 - graph 多バイト文字全部を含む + graph 紊ゃ絖 lower - print 多バイト文字全部を含む + print 紊ゃ絖 punct space \t, \n, \v, \f, \r, \x20 upper xdigit 0-9, a-f, A-F - word 英数字, "_" および 多バイト文字 + word 掩医, "_" 紊ゃ絖 - Unicodeの場合: + Unicode翫: alnum Letter | Mark | Decimal_Number alpha Letter | Mark @@ -190,67 +190,69 @@ -7. 拡張式集合 +7. ≦宍綣 - (?#...) 注釈 - (?imx-imx) 孤立オプション - i: 大文字小文字照合 - m: 複数行 - x: 拡張形式 - (?imx-imx:式) 式オプション + (?#...) 羈 + (?imx-imx) 絖ょ激с + i: 紊ф絖絨絖у + m: 茲域 + x: ≦宍綵√ + (?imx-imx:綣) 綣激с - (式) 捕獲式集合 - (?:式) 非捕獲式集合 + (綣) 峨 + (?:綣) 峨 - (?=式) 先読み - (?!式) 否定先読み - (?<=式) 戻り読み - (?<!式) 否定戻り読み + (?=綣) 茯 + (?!綣) 絎茯 + (?<=綣) 祉茯 + (?<!綣) 絎祉茯 - 戻り読みの式は固定文字長でなければならない。 - しかし、最上位の選択子だけは異なった文字長が許される。 - 例. (?<=a|bc) は許可. (?<=aaa(?:b|cd)) は不許可 + 祉茯帥綣阪絖激с違 + 筝篏御絖違c絖激荐宴 + 箴. (?<=a|bc) 荐怨. (?<=aaa(?:b|cd)) 筝荐怨 - 否定戻り読みでは、捕獲式集合は許されないが、 - 非捕獲式集合は許される。 + 絎祉茯帥с峨荐宴 + 峨荐宴 - (?>式) 原子的式集合 - 式全体を通過したとき、式の中での後退再試行を行なわない + (?>綣) 絖綣 + 綣篏綣筝с緇荅茵茵 - (?<name>式), (?'name'式) - 名前付き捕獲式集合 - 式集合に名前を割り当てる(定義する)。 - (名前は単語構成文字でなければならない。) + (?<name>綣), (?'name'綣) + 篁峨 + 綣蚊綵(絎臂) + (茯罕絖с違) - 名前だけでなく、捕獲式集合と同様に番号も割り当てられる。 - 番号指定が禁止されていない状態 (10. 捕獲式集合 を参照) - のときは、名前を使わないで番号でも参照できる。 + с峨罕垩蚊綵 + 垽絎胼罩≪倶 (10. 峨 ) + 篏帥х垩ссс - 複数の式集合に同じ名前を与えることは許されている。 - この場合には、この名前を使用した後方参照は可能であるが、 - 部分式呼出しはできない。 + 茲違綣筝荐宴 + 翫篏睡緇劫с純с + 綣弱冴с -8. 後方参照 +8. 緇劫 - \n 番号指定参照 (n >= 1) - \k<n> 番号指定参照 (n >= 1) - \k'n' 番号指定参照 (n >= 1) - \k<-n> 相対番号指定参照 (n >= 1) - \k'-n' 相対番号指定参照 (n >= 1) - \k<name> 名前指定参照 - \k'name' 名前指定参照 + \n 垽絎 (n >= 1) + \k<n> 垽絎 (n >= 1) + \k'n' 垽絎 (n >= 1) + \k<-n> 後丞垽絎 (n >= 1) + \k'-n' 後丞垽絎 (n >= 1) + \k<+n> 後丞垽絎 (n >= 1) + \k'+n' 後丞垽絎 (n >= 1) + \k<name> 絎 + \k'name' 絎 - 名前指定参照で、その名前が複数の式集合で多重定義されている場合には、 - 番号の大きい式集合から優先的に参照される。 - (マッチしないときには番号の小さい式集合が参照される) + 絎сс茲違綣у絎臂翫 + 垩紊с綣с + (垩絨綣с) - ※ 番号指定参照は、名前付き捕獲式集合が定義され、 - かつ ONIG_OPTION_CAPTURE_GROUPが指定されていない場合には、 - 禁止される。(10. 捕獲式集合 を参照) + 垽絎с篁峨絎臂 + ONIG_OPTION_CAPTURE_GROUP絎翫 + 胼罩≪(10. 峨 ) - ネストレベル付き後方参照 + 鴻篁緇劫 level: 0, 1, 2, ... @@ -264,14 +266,14 @@ \k'name+level' \k'name-level' - 後方参照の位置から相対的な部分式呼出しネストレベルを指定して、そのレベルでの - 捕獲値を参照する。 + 緇劫с篏臀後丞綣弱冴鴻絎с + 峨ゃс - 例-1. + 箴-1. /\A(?<a>|.|(?:(?<b>.)\g<a>\k<b+0>))\z/.match("reer") - 例-2. + 箴-2. r = Regexp.compile(<<'__REGEXP__'.strip, Regexp::EXTENDED) (?<element> \g<stag> \g<content>* \g<etag> ){0} @@ -286,82 +288,86 @@ -9. 部分式呼出し ("田中哲スペシャル") +9. 綣弱冴 ("遺賢蚊鴻激c") - \g<name> 名前指定呼出し - \g'name' 名前指定呼出し - \g<n> 番号指定呼出し (n >= 1) - \g'n' 番号指定呼出し (n >= 1) - \g<-n> 相対番号指定呼出し (n >= 1) - \g'-n' 相対番号指定呼出し (n >= 1) + \g<name> 絎弱冴 + \g'name' 絎弱冴 + \g<n> 垽絎弱冴 (n >= 1) + \g'n' 垽絎弱冴 (n >= 1) + \g<0> 垽絎弱冴(篏若喝冴) + \g'0' 垽絎弱冴(篏若喝冴) + \g<-n> 後丞垽絎弱冴 (n >= 1) + \g'-n' 後丞垽絎弱冴 (n >= 1) + \g<+n> 後丞垽絎弱冴 (n >= 1) + \g'+n' 後丞垽絎弱冴 (n >= 1) - ※ 最左位置での再帰呼出しは禁止される。 - 例. (?<name>a|\g<name>b) => error + 綏篏臀с絽医弱冴胼罩≪ + 箴. (?<name>a|\g<name>b) => error (?<name>a|b\g<name>c) => OK - ※ 番号指定呼出しは、名前付き捕獲式集合が定義され、 - かつ ONIG_OPTION_CAPTURE_GROUPが指定されていない場合には、 - 禁止される。 (10. 捕獲式集合 を参照) + 垽絎弱冴篁峨絎臂 + ONIG_OPTION_CAPTURE_GROUP絎翫 + 胼罩≪ (10. 峨 ) - ※ 呼び出された式集合のオプション状態が呼出し側のオプション状態と異なっている - とき、呼び出された側のオプション状態が有効である。 + 若喝冴綣激с括倶弱冴眼激с括倶違c + 若喝冴眼激с括倶鴻с - 例. (?-i:\g<name>)(?i:(?<name>a)){0} は "A" に照合成功する。 + 箴. (?-i:\g<name>)(?i:(?<name>a)){0} "A" у -10. 捕獲式集合 +10. 峨 - 捕獲式集合(...)は、以下の条件に応じて振舞が変化する。 - (名前付き捕獲式集合は変化しない) + 峨(...)篁ヤ>散綽紊 + (篁峨紊) - case 1. /.../ (名前付き捕獲式集合は不使用、オプションなし) + case 1. /.../ (篁峨筝篏睡激с潟) - (...) は、捕獲式集合として扱われる。 + (...) 峨宴 - case 2. /.../g (名前付き捕獲式集合は不使用、オプション 'g'を指定) + case 2. /.../g (篁峨筝篏睡激с 'g'絎) - (...) は、非捕獲式集合として扱われる。 + (...) 峨宴 - case 3. /..(?<name>..)../ (名前付き捕獲式集合は使用、オプションなし) + case 3. /..(?<name>..)../ (篁峨篏睡激с潟) - (...) は、非捕獲式集合として扱われる。 - 番号指定参照/呼び出しは不許可。 + (...) 峨宴 + 垽絎/若喝冴筝荐怨 - case 4. /..(?<name>..)../G (名前付き捕獲式集合は使用、オプション 'G'を指定) + case 4. /..(?<name>..)../G (篁峨篏睡激с 'G'絎) - (...) は、捕獲式集合として扱われる。 - 番号指定参照/呼び出しは許可。 + (...) 峨宴 + 垽絎/若喝冴荐怨 - 但し + 篏 g: ONIG_OPTION_DONT_CAPTURE_GROUP G: ONIG_OPTION_CAPTURE_GROUP - ('g'と'G'オプションは、ruby-dev MLで議論された。) + ('g''G'激с潟ruby-dev MLц域) - これらの振舞の意味は、 - 名前付き捕獲と名前無し捕獲を同時に使用する必然性のある場面は少ないであろう - という理由から考えられたものである。 + 潟 + 篁蚊<蚊篏睡綽倶с顔≪絨с + 宴с ----------------------------- -補記 1. 文法依存オプション +茖荐 1. 羈箴絖激с + ONIG_SYNTAX_RUBY - (?m): 終止符記号(.)は改行と照合成功 + (?m): 腟罩∝荐(.)壕у - + ONIG_SYNTAX_PERL と ONIG_SYNTAX_JAVA - (?s): 終止符記号(.)は改行と照合成功 - (?m): ^ は改行の直後に照合する、$ は改行の直前に照合する + + ONIG_SYNTAX_PERL ONIG_SYNTAX_JAVA + (?s): 腟罩∝荐(.)壕у + (?m): ^ 壕翫у$ 壕翫у -補記 2. 独自拡張機能 +茖荐 2. ≦宍罘 - + 16進数数字、非16進数字 \h, \H - + 名前付き捕獲式集合 (?<name>...), (?'name'...) - + 名前指定後方参照 \k<name> - + 部分式呼出し \g<name>, \g<group-num> + + 16我井医16我医 \h, \H + + 篁峨 (?<name>...), (?'name'...) + + 絎緇劫 \k<name> + + 綣弱冴 \g<name>, \g<group-num> -補記 3. Perl 5.8.0と比較して存在しない機能 +茖荐 3. Perl 5.8.0罸莠絖罘 + \N{name} + \l,\u,\L,\U, \X, \C @@ -370,80 +376,80 @@ + (?(condition)yes-pat|no-pat) * \Q...\E - 但しONIG_SYNTAX_PERLとONIG_SYNTAX_JAVAでは有効 - - -補記 4. Ruby 1.8 の日本語化 GNU regex(version 0.12)との違い - - + 文字Property機能追加 (\p{property}, \P{Property}) - + 16進数字タイプ追加 (\h, \H) - + 戻り読み機能を追加 - + 強欲な繰り返し指定子を追加 (?+, *+, ++) - + 文字集合の中の演算子を追加 ([...], &&) - ('[' は、文字集合の中で通常の文字として使用するときには - 退避修飾しなければならない) - + 名前付き捕獲式集合と、部分式呼出し機能追加 - + 多バイト文字コードが指定されているとき、 - 文字集合の中で八進数または十六進数表現の連続は、多バイト符号で表現された - 一個の文字と解釈される - (例. [\xa1\xa2], [\xa1\xa7-\xa4\xa1]) - + 文字集合の中で、一バイト文字と多バイト文字の範囲指定は許される。 - ex. /[a-あ]/ - + 孤立オプションの有効範囲は、その孤立オプションを含んでいる式集合の - 終わりまでである - 例. (?:(?i)a|b) は (?:(?i:a|b)) と解釈される、(?:(?i:a)|b)ではない - + 孤立オプションはその前の式に対して透過的ではない - 例. /a(?i)*/ は文法エラーとなる - + 不完全な繰り返し範囲指定子は通常の文字列として許可される - 例. /{/, /({)/, /a{2,3/ - + 否定的POSIXブラケット [:^xxxx:] を追加 - + POSIXブラケット [:ascii:] を追加 - + 先読みの繰り返しは不許可 - 例. /(?=a)*/, /(?!b){5}/ - + 数値で指定された文字に対しても、大文字小文字照合オプションは有効 - 例. /\x61/i =~ "A" - + 繰り返し回数指定で、最低回数の省略(0回)ができる + 篏ONIG_SYNTAX_PERLONIG_SYNTAX_JAVAс + + +茖荐 4. Ruby 1.8 ユ茯 GNU regex(version 0.12) + + + 絖Property罘処申 (\p{property}, \P{Property}) + + 16我医帥ゃ菴遵 (\h, \H) + + 祉茯炊純菴遵 + + 綣傑蚊膵違菴絎絖菴遵 (?+, *+, ++) + + 絖筝羲膊絖菴遵 ([...], &&) + ('[' 絖筝ч絽吾絖篏睡 + 推信蕋障違) + + 篁峨綣弱冴罘処申 + + 紊ゃ絖潟若絎 + 絖筝у我違障我域;憗g紊ゃ膃垩ц;憗 + 筝絖茹i + (箴. [\xa1\xa2], [\xa1\xa7-\xa4\xa1]) + + 絖筝с筝ゃ絖紊ゃ絖膀我絎荐宴 + ex. /[a-]/ + + 絖ょ激с潟合蚊絖ょ激с潟с綣 + 腟障сс + 箴. (?:(?i)a|b) (?:(?i:a|b)) 茹i(?:(?i:a)|b)с + + 絖ょ激с潟綣絲障с + 箴. /a(?i)*/ 羈若 + + 筝絎膵違菴膀我絎絖絽吾絖荐怨 + 箴. /{/, /({)/, /a{2,3/ + + 絎POSIX宴 [:^xxxx:] 菴遵 + + POSIX宴 [:ascii:] 菴遵 + + 茯帥膵違菴筝荐怨 + 箴. /(?=a)*/, /(?!b){5}/ + + 医ゃф絎絖絲障紊ф絖絨絖у激с潟 + 箴. /\x61/i =~ "A" + + 膵違菴井絎с篏違(0)с /a{,n}/ == /a{0,n}/ - 最低回数と最大回数の同時省略は許されない。(/a{,}/) - + /a{n}?/は無欲な演算子ではない。 + 篏違紊у違ャ荐宴(/a{,}/) + + /a{n}?/≧蚊羲膊絖с /a{n}?/ == /(?:a{n})?/ - + 無効な後方参照をチェックしてエラーにする。 + + ≦鴻緇劫сс若 /\1/, /(a)\2/ - + 無限繰り返しの中で、長さ零での照合成功は繰り返しを中断させるが、 - このとき、中断すべきかどうかの判定として、捕獲式集合の捕獲状態の - 変化まで考慮している + + ♂膵違菴筝с激吟су膵違菴筝 + 筝鴻ゅ峨牙倶 + 紊障ц /(?:()|())*\1\2/ =~ "" /(?:\1a|())*/ =~ "a" -補記 5. 実装されているが、既定値では有効にしていない機能 +茖荐 5. 絎茖√ゃс鴻罘 - + 捕獲履歴参照 + + 峨吋罩翫 - (?@...) と (?@<name>...) + (?@...) (?@<name>...) - 例. /(?@a)*/.match("aaa") ==> [<0-1>, <1-2>, <2-3>] + 箴. /(?@a)*/.match("aaa") ==> [<0-1>, <1-2>, <2-3>] - 使用方法は、sample/listcap.cを参照 + 篏睡号sample/listcap.c - 有効にしていない理由は、どの程度役に立つかはっきりしないため。 + 鴻宴腮綺綵鴻腴ゃc -補記 6. 問題点 +茖荐 6. 馹 - + エンコーディングバイト値が適正な価かどうかのチェックは行なっていない。 + + 潟潟若c潟違ゃゃ罩c箴<с茵c - 例: UTF-8 + 箴: UTF-8 - * 先頭バイトとして不正なバイトを一文字とみなす + * ゃ筝罩cゃ筝絖帥 /./u =~ "\xa3" - * 不完全なバイトシーケンスのチェックをしない + * 筝絎ゃ激若宴潟鴻с /\w+/u =~ "a\xf3\x8ec" - これを調べることは可能ではあるが、遅くなるので行なわない。 + 茯帥鴻純сц - 文字列として、そのようなバイト列を指定した場合の動作は保証しない。 + 絖ゃ絎翫篏篆荐若 -終り +腟 |