Better lore parsing to support Unicode

With this change, the attribute keyword will no longer be limited to [a-zA-Z%:]. This means it can be any Unicode Character.