Предполагая, что «данные выровнены друг с другом» означает что-то вроде следующего:
IP: 192.168.128.12
MAC: AF:3G:9F:c9:32:2E
Expires: Fri Aug 13 20:04:53 2010
Time Left: 11040 seconds
Тег <pre>
можно использовать для поддержания выравнивания.
Минимизация изменений в существующем коде:
for k,v in string.gmatch(data, "(%w[%w ]*):%s*([%w%p ]+)\n") do t[k] = v end
- изменен первый захват на
(%w[%w ]*)
, чтобы избежать пробелов в начале и получить пробел в Time Left
- , добавлен
%s*
после :
, чтобы избежатьведущие пробелы в захваченных значениях - заменены
%s
на пробелы во втором захвате, чтобы избежать захвата \n
- исправлены опечатки
gmath
в gmatch
и добавлено )
для захвата