У меня есть простой текст, как показано ниже:Использование одного шаблон для строки поиска нескольких слов Lua сценарий
Hello World [all 1]
Hi World [words 2]
World World [are 3]
Hello Hello [different 4]
Я хочу установить все слова в квадратных скобках в качестве переменной в массиве с помощью Lua. Стараюсь этот код ниже:
text = 'Hello World [all 1]\nHi World [words 2]\nWorld World [are 3]\nHello Hello [different 4]'
array = {string.match(text, '[%a%s]*%[([%a%s%d]*)%]')}
for i = 1,#array do
print(array[i])
end
Выход "все 1". Моя цель состоит в том, чтобы распечатай выход в
all 1
words 2
are 3
different 4
Я попытался добавить 3 той же модели, как показано ниже:
array = {string.match(text, '[%a%s]*%[([%a%s%d]*)%].-[%a%s]*%[([%a%s%d]*)%].-[%a%s]*%[([%a%s%d]*)%].-[%a%s]*%[([%a%s%d]*)%]')}
Он работает. Но я не думаю, что это лучший способ, особенно когда текст имеет нагрузку на строки типа 100 и т. Д. Каков правильный способ сделать это?
благодарит заранее.
Эти строки находятся в файле или это одна строка, которую вы хотите найти? –
спасибо, что ответим. это единственная строка, содержащая все слова выше. – wakhaiha
'array = {} для s в s: gmatch '% b []' сделать массив [# array + 1] = s: sub (2, -2) end' – tonypdmtr