locbalpar_JPH {lazy.symbolic}R Documentation

文字列において対応する括弧の位置を返す。

Description

英語のヘルプファイルは: locbalpar

Arguments

exp

入力文字列(長さ1の文字ベクトル)。

loc

括弧の開始位置または終了位置を指定する。 その対応する括弧の位置が返される。

Details

loc は正の値であり、かつ nchar(exp) 未満でなければならない。
substring(exp,loc,loc) は開き括弧または閉じ括弧でなければならない。
そうでない場合、この関数は 0 を返す。

Value

長さ loc と同じ位置ベクトルを返す。対応する括弧がない場合は 0。

Examples

# 入力文字列
#                1111111111222222222233333333
#       1234567890123456789012345678901234567
exp <- "a+([a+b]*(c*{d+e}))-(f-g) +(((<()>)) "

# 位置を指定して対応する括弧の位置を取得
locbalpar( exp, 3 )
locbalpar( exp, 19 )
locbalpar( exp, c(4,8) )
locbalpar( exp, c(13,17) )
locbalpar( exp, c(31,34) )
locbalpar( exp, c(34,31, 3,19) )

# 正規表現で "(" の位置を抽出して対応括弧を求める
locbalpar( exp, regexpr( "\\(", exp ) )

# 対応する括弧が存在しない場合
locbalpar( exp, 28 )


# substr(exp,n,1) が括弧である限り、以下は常に成り立つはずである。
n <- 10; n == locbalpar( exp, locbalpar( exp, n ) )
n <- 36; n == locbalpar( exp, locbalpar( exp, n ) )



[Package lazy.symbolic version 1.0.0.20250830 ]