Parece un posible error de expresión regular (regex), que siempre son un poco complicadas de desenredar. @zogstrip, tal vez puedas echarle un vistazo, ya que has trabajado en esta área recientemente (aunque esto parece haber existido por un tiempo).
Aquí está mi entendimiento…
Cuando estamos comprobando palabras, hay 3 segmentos que deben coincidir: el inicial, la palabra y el final. Hemos establecido que los segmentos inicial y final sean caracteres no alfabéticos… estos podrían ser puntuación, espacios O números. Los números son lo que está arruinando la coincidencia aquí. La intención es poder detectar palabras incluso si hay puntuación o lo que sea antes/después de la palabra.
Así que la regex ve 123Test, encuentra Test, mira antes y encuentra 3, y eso coincide como un “no alfabético”, luego mira después y encuentra el final de la palabra. Así que coincide con 3Test.
Creo que necesitamos comprobar caracteres que no sean letras Y que no sean números en los segmentos inicial/final para evitar esto. No estoy seguro si hay una razón por la que no incluimos los números o si es solo un descuido.