Parece um possível bug de regex, que são sempre um pouco complicados de desenrolar. @zogstrip talvez você possa dar uma olhada, já que trabalhou nessa área recentemente (embora isso pareça existir há um tempo).
Aqui está o meu entendimento…
Quando estamos verificando palavras, há 3 segmentos que precisam corresponder: inicial, a palavra, final. Definimos inicial e final como caracteres não-letras… estes podem ser pontuação, espaços, OU números. Os números são o que está causando o problema na correspondência aqui. A intenção é ser capaz de capturar palavras mesmo que haja pontuação ou o que for antes/depois da palavra.
Então, a regex vê 123Test, encontra Test, olha antes e encontra 3 e isso corresponde como um “não-letra”, depois olha depois e encontra o fim da palavra. Então corresponde em 3Test.
Eu acho que precisamos verificar caracteres não-letras E não-números nos segmentos inicial/final para evitar isso? Não sei se há uma razão pela qual não incluímos números ou se é apenas uma supervisão.