Я не уверен, правильно ли я понимаю, что вам нужно, но проверьте эту функцию.
local table =
{
one = {"one", "two", "three"},
two = {"four", "five", "six"},
three = {"seven", "eight", "nine"},
}
local x = nil
local tab = nil
local sentence_1 = 'Now its day six and its sunny'
local sentence_2 = 'Now its day two and its sunny'
function search_word(sentence, words_table)
for key, words in pairs(words_table) do
for _, word in pairs(words) do
if string.match(sentence, word) then
return word, key
end
end
end
end
x, tab = search_word(sentence_1, table)
print(x, tab)
-- six two
x, tab = search_word(sentence_2, table)
print(x, tab)
-- two one
search_word
функция принимает два аргумента: предложение и вашу таблицу со словами, а функция возвращает два значения - первое - это слово, которое было найдено, а второе - таблица, содержащая это слово.