Lua frontera patrón coincidencia (búsqueda de palabra completa)

Podría alguien ayudarme con esto 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

Entonces, el patrón de frontera encuentra la palabra completa sin problemas y gsub cuenta las palabras completas sin problemas, pero ¿qué sucede si la cadena de búsqueda tiene números?

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

parece funcionar si los números no están al principio o al final de la cadena de búsqueda

Respuestas a la pregunta(1)

Su respuesta a la pregunta