Regras para Correspondência de Números em Palavras Observadas

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.

2 curtidas