The following code will give your desired output:
for token in line:gmatch( "(%S+)" ) do
if not token:match( "(:%w-:)([^:]+)" ) then
print(token)
else
for col, w in token:gmatch( "(:%w-:)([^:]+)" ) do
print( col )
print( w )
end
end
end
Though, it will fail for a string such as:
in the sa:yellow:me:pink:long-Words!