locbalpar {lazy.tools} | R Documentation |
Return the locations of the matching parentheses in a string.
locbalpar(exp, loc)
exp |
Input string: a single (vector of length 1). |
loc |
The starting or ending locations of the parentheses whose matching pair will be found. |
loc
must be positive and less than nchar(exp)
.
substring(exp,loc,loc)
must be opening or closing parens.
Otherwise, this function returns 0.
The location vecotr of length(loc) of the matching parens or 0.
# Input string
# 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 ) )
# No matching paren
locbalpar( exp, 28 )
# As long as substr(exp,n,1) is a paren, below should always be true.
n <- 10; n == locbalpar( exp, locbalpar( exp, n ) )
n <- 36; n == locbalpar( exp, locbalpar( exp, n ) )