RosettaCodeData/Task/Tokenize-a-string/Lua/tokenize-a-string-1.lua

11 lines
263 B
Lua

require"re"
record = re.compile[[
record <- ( <field> (',' <field>)* ) -> {} (%nl / !.)
field <- <escaped> / <nonescaped>
nonescaped <- { [^,"%nl]* }
escaped <- '"' {~ ([^"] / '""' -> '"')* ~} '"'
]]
print(unpack(record:match"hello,how,are,you,today"))