Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотров
    26 095

Часть2. Lua простые регулярные выражения


MasterGH

3 180 просмотров

Если нужно найти начало и конец подстроки. Пример

Попробуем найти слово 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 

 

 

Пока на этом все... Более сложные примеры в предыдущей части записи

0 Комментариев


Рекомендуемые комментарии

Комментариев нет

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.