Class | MatchData |
In: |
lib/oniguruma.rb
|
Parent: | Object |
[] | -> | old_aref |
begin | -> | old_begin |
end | -> | old_end |
offset | -> | old_offset |
MatchData acts as an array, and may be accessed using the normal array indexing techniques. mtch[0] is equivalent to the special variable $&, and returns the entire matched string. mtch[1], mtch[2], and so on return the values of the matched backreferences (portions of the pattern between parentheses).
m = ORegexp.new( '(.)(.)(\d+)(\d)' ).match("THX1138.") m[0] #=> "HX1138" m[1, 2] #=> ["H", "X"] m[1..3] #=> ["H", "X", "113"] m[-3, 2] #=> ["X", "113"]
If a symbol is used as index, the corresponding named group is returned, or nil if such a group does not exist.
m = ORegexp.new( '(?<begin>^.*?)(?<middle>\d)(?<end>.*)' ).match("THX1138") m[:begin] #=> "THX" m[:moddle] #=> "1" m[:end] #=> "138"
Returns the offset of the start of the nth element of the match array in the string.
m = ORegexp.new( '(.)(.)(\d+)(\d)' ).match("THX1138.") m.begin(0) #=> 1 m.begin(2) #=> 2
If no arguments are given, the index of the first matching character is returned.
m = ORegexp.new( '(.)(.)(\d+)(\d)' ).match("THX1138.") m.begin #=> 1
If the argument is a symbol, then the beginning of the corresponding named group is returned, or nil if the group does not exist.
m = ORegexp.new( '(?<begin>^.*?)(?<middle>\d)(?<end>.*)' ).match("THX1138") m.begin(:middle) #=> 3
Returns the offset of the character immediately following the end of the nth element of the match array in the string.
m = ORegexp.new( '(.)(.)(\d+)(\d)' ).match("THX1138.") m.end(0) #=> 7 m.end(2) #=> 3
If no arguments are given, the index of the last matching character is returned.
m = ORegexp.new( '(.)(.)(\d+)(\d)' ).match("THX1138.") m.last #=> 7
If the argument is a symbol, then the beginning of the corresponding named group is returned, or nil if the group does not exist.
m = ORegexp.new( '(?<begin>^.*?)(?<middle>\d)(?<end>.*)' ).match("THX1138") m.end(:middle) #=> 4
Returns a two-element array containing the beginning and ending offsets of the nth match.
m = ORegexp.new( '(.)(.)(\d+)(\d)' ).match("THX1138.") m.offset(0) #=> [1, 7] m.offset(4) #=> [6, 7]
If no arguments are given, the offsets of the entire sequence are returned.
m = ORegexp.new( '(.)(.)(\d+)(\d)' ).match("THX1138.") m.offset #=> [1, 7]
If the argument is a symbol, then the offsets of the corresponding named group are returned, or nil if the group does not exist.
m = ORegexp.new( '(?<begin>^.*?)(?<middle>\d)(?<end>.*)' ).match("THX1138") m.end(:middle) #=> [3, 4]