Часть2. Lua простые регулярные выражения
-
Если нужно найти начало и конец подстроки. Пример
Попробуем найти слово lab в троке gamehacklab.ru
print(string.find('gamehacklab.ru', 'lab')) >9 11
Если не найдена подстрока, то вернет nil.
С помощью string.match можем выводить не индексы, а строкуprint(string.match('gamehacklab.ru', 'lab')) >lab
С помощью string.gmatch можем выводить последовательно строки
Где 'a.' означает символ 'a' и еще один следующий любой
local result = string.gmatch('gamehacklab.ru', 'a.') print(result()) print(result()) print(result()) вывод >am >ac >ab
Здесь комбинация символов "%a+" означает искать слово пока оно не закончится
s = "hello world from Lua" for w in string.gmatch(s, "%a+") do print(w) end Вывод > hello > world > from > Lua
А здесь заполняем таблицу ключ — значение из строки, которую можно было бы взять из файла
t = {} s = "X=0, Y=0, Z=0" for k, v in string.gmatch(s, "(%w+)=(%w+)") do t[k] = v end for i, v in pairs(t) do print(i..' = '..v) end Вывод >Z = 0 >X = 0 >Y = 0
Пока на этом все... Более сложные примеры в предыдущей части записи