As Horstl said, adding an additional separator between the cities and the weapons makes it a lot easier to parse for a computer (the entire second regex in my code was merely to find and insert a carriage-return character there to be used as a token delimiter). It also makes it easier to read for humans I think.