Sheety::Tokens::Range
Inherits Sheety::Tokens::Operand < Sheety::Token < Reference < Object
Cell reference or range token (e.g., A1, Sheet1!B5, A1:B5)
Constants
CELL_REF_REGEX = /^\s*(?P<name>\$?[A-Z]{1,3}\$?\d+)/i
Regex for simple cell reference like A1 or $A$1
COL_RANGE_REGEX = /^\s*(?P<name>\$?[A-Z]{1,3}:\$?[A-Z]{1,3})/i
Regex for column range like A:A
FULL_RANGE_REGEX = /^\s*(?P<name>\$?[A-Z]{1,3}\$?\d+:\$?[A-Z]{1,3}\$?\d+)/i
Regex for full range like A1:B5 or $A$1:$B$5
ROW_RANGE_REGEX = /^\s*(?P<name>\$?\d+:\$?\d+)/i
Regex for row range like 1:10
SHEET_CELL_REF_REGEX = /^\s*(?P<sheet>'[^']+'|[A-Z_][A-Z0-9_.]*)!(?P<name>\$?[A-Z]{1,3}\$?\d+)/i
Regex for sheet-prefixed cell reference: Sheet1!A1, 'Sheet 1'!A1
SHEET_COL_RANGE_REGEX = /^\s*(?P<sheet>'[^']+'|[A-Z_][A-Z0-9_.]*)!(?P<name>\$?[A-Z]{1,3}:\$?[A-Z]{1,3})/i
Regex for sheet-prefixed column range: Sheet1!A:A
SHEET_FULL_RANGE_REGEX = /^\s*(?P<sheet>'[^']+'|[A-Z_][A-Z0-9_.]*)!(?P<name>\$?[A-Z]{1,3}\$?\d+:\$?[A-Z]{1,3}\$?\d+)/i
Regex for sheet-prefixed full range: Sheet1!A1:B5, 'Sheet 1'!A1:B5
SHEET_ROW_RANGE_REGEX = /^\s*(?P<sheet>'[^']+'|[A-Z_][A-Z0-9_.]*)!(?P<name>\$?\d+:\$?\d+)/i
Regex for sheet-prefixed row range: Sheet1!1:10
Class methods
match?(s : String) : Regex::MatchData | Nil
SourceInstance methods
match(s : String) : Regex::MatchData | Nil
Try to match the token pattern against the input string
process(match : Regex::MatchData) : Regex::MatchData
Process the match result and populate attributes
range?
Sourcereference?
Sourcesheet_name
Source