Partida de padrão de fronteira de Lua (busca de palavra inteira)

Alguém pode me ajudar com isso, por favor:

s_test = "this is a test string this is a test string "

function String.Wholefind(Search_string, Word)
 _, F_result = string.gsub(Search_string, '%f[%a]'..Word..'%f[%A]',"")
 return F_result
end

A_test = String.Wholefind(s_test,"string")
output: A_test = 2

Portanto, o padrão de fronteira não acha a palavra inteira um problema e o gsub conta as palavras inteiras sem problemas, mas e se a string de pesquisa tiver números?

s_test = " 123test 123test 123"
B_test = String.Wholefind(s_test,"123test")
output: B_test = 0 

parece funcionar se os números não estiverem no início ou no final da string de pesquisa

questionAnswers(1)

yourAnswerToTheQuestion