Blame doc/CALLOUTS.BUILTIN.ja
|
Packit |
b89d10 |
CALLOUTS.BUILTIN.ja 2018/03/26
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
* FAIL (前進)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
(*FAIL)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
常に失敗する
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
* MISMATCH (前進)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
(*MISMATCH)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
照合を中止する
|
|
Packit |
b89d10 |
検索は継続する
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
* ERROR (前進)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
(*ERROR{n::LONG})
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
検索/照合を中止する
|
|
Packit |
b89d10 |
戻り値は引数'n'の値。(-1より小さい負の値でなければならない)
|
|
Packit |
b89d10 |
'n'はオプション引数で、デフォルト値はONIG_ABORT
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
* MAX (前進/後退)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
(*MAX{n::LONG/TAG, c::CHAR})
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
成功(デフォルト)、前進または後退回数を制限する
|
|
Packit |
b89d10 |
'n'がTAGのときは、そのTAGのcalloutのslot 0の値が使用される
|
|
Packit |
b89d10 |
'c'引数の値によって、slot 0の値が変化する
|
|
Packit |
b89d10 |
'c'はオプション引数で、デフォルト値は'X'
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
例: "(?:(*COUNT[T]{X})a)*(?:(*MAX{T})c)*"
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
[callout data]
|
|
Packit |
b89d10 |
slot 0: '>': 前進回数, '<': 後退回数, 'X': 成功回数(デフォルト)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
* COUNT (前進/後退)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
(*COUNT{c::CHAR})
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
カウンタ
|
|
Packit |
b89d10 |
'c'引数の値によって、slot 0の値が変化する
|
|
Packit |
b89d10 |
'c'はオプション引数で、デフォルト値は'>'
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
[callout data]
|
|
Packit |
b89d10 |
slot 0: '>': 前進回数(デフォルト), '<': 後退回数, 'X': 成功回数
|
|
Packit |
b89d10 |
slot 1: 前進回数
|
|
Packit |
b89d10 |
slot 2: 後退回数
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
(* 成功回数 = 前進回数 - 後退回数)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
** ONIG_OPTION_FIND_LONGEST または ONIG_OPTION_FIND_NOT_EMPTY が使用されると
|
|
Packit |
b89d10 |
正確な動作ができなくなる
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
* TOTAL_COUNT (前進/後退)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
(*TOTAL_COUNT{c::CHAR})
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
これはCOUNTとほとんど同じ
|
|
Packit |
b89d10 |
しかし、カウントが検索過程で積算される
|
|
Packit |
b89d10 |
'c'はオプション引数で、デフォルト値は'>'
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
[callout data]
|
|
Packit |
b89d10 |
slot 0: '>': 前進回数(デフォルト), '<': 後退回数, 'X': 成功回数
|
|
Packit |
b89d10 |
slot 1: 前進回数
|
|
Packit |
b89d10 |
slot 2: 後退回数
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
** ONIG_OPTION_FIND_LONGEST または ONIG_OPTION_FIND_NOT_EMPTY が使用されると
|
|
Packit |
b89d10 |
正確な動作ができなくなる
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
* CMP (前進)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
(*CMP{x::TAG/LONG, op::STRING, y::TAG/LONG})
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
xの値とyの値をop演算子で比較する
|
|
Packit |
b89d10 |
x, yがTAGのときにはそのcalloutのslot 0の値が参照される
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
op: '==', '!=', '>', '<', '>=', '<='
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
例: "(?:(*MAX[TA]{7})a|(*MAX[TB]{5})b)*(*CMP{TA,>=,4})"
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
[callout data]
|
|
Packit |
b89d10 |
slot 0: op値 (src/regexec.c の中の enum OP_CMP)
|
|
Packit |
b89d10 |
|
|
Packit |
b89d10 |
//END
|