require 'rxraw-lineparser' format_mask = "[!name] [!age] [!telno]" rxp = RXRawLineParser.new(format_mask) rxp.parse("Dan") #=> [[:name, :age, :telno], ["Dan", "", ""]] rxp.parse "Bob 44" #=> [[:name, :age, :telno], ["Bob", "44", ""]] rxp.parse "Jill 87 0245 673 8532" #=> [[:name, :age, :telno], ["Jill", "87", "0245 673 8532"]] rxp.parse "'Dan Brown' 55 554334" #=> [[:name, :age, :telno], ["Dan Brown", "55", "554334"]] rxp.parse "'Dan Brown' '55 yrs old' 554334" #=> [[:name, :age, :telno], ["Dan Brown", "55 yrs old", "554334"]] rxp.parse "Dan '55 yrs old' 554334" #=> [[:name, :age, :telno], ["Dan", "55 yrs old", "554334"]] rxp.parse '"Anne Todd" 44' #=> [[:name, :age, :telno], ["Anne Todd", "44", ""]]