これは、デバッグが少し厄介な、正規表現のバグの可能性があります。最近この分野で作業されたことがある @zogstrip さん、ご確認いただけますでしょうか(ただし、これはしばらく前から存在しているようです)。
私の理解は以下の通りです…
単語をチェックするとき、一致しなければならないセグメントは 3 つあります。先頭、単語、末尾です。先頭と末尾を、文字以外の文字(句読点、スペース、または数字)に設定しています。ここでマッチを狂わせているのは数字です。意図としては、単語の前後が句読点などで囲まれていても、単語をキャッチできるようにすることです。
そのため、正規表現は 123Test を見て、Test を見つけ、その前を見ると 3 があり、これが「文字以外」として一致し、その後ろを見ると単語の終わりが見つかります。したがって、3Test に一致します。
先頭/末尾のセグメントで、数字以外の文字もチェックする必要があると思います。数字を含めなかった理由があるのか、それとも単なる見落としなのかはわかりません。