ウォッチワードリストのロシア文字が正しく識別されていません

当社の監視単語リストを拡張している過程で、奇妙な問題が発見されました。監視単語リストをすべての対応言語で利用できるようにしたいと考えていますが、ロシア語では単語内のすべての文字が検出されていないため(そのように思われます)、特定の単語が誤ってフラグ付けされています。

例 1:英字の通常の監視単語は正常に動作します。

例 2:この単語の先頭に文字を追加すると、フラグ付けされなくなります(これは意図した通りに動作しています)。

例 3:しかし、特定のロシア語文字の場合、英字と見た目は同じですが、異なる Unicode 値を持っているため、表示されなかったり検出されなかったりするようです。

「абля」はリストに存在しないにもかかわらず、誤ってフラグ付けされています。英字キーボードで「a」を削除して再入力すると、単語がフラグ付けされなくなります(おそらく文字の符号化が異なるため)。これにより、問題のない単語が誤ってフラグ付けされてしまい、望ましくない結果となっています。

別の例として、「себ」も同様に誤ってフラグ付けされていますが、監視単語リストには「еб」のみが含まれています。

もし回避策の提案があれば、ぜひ聞かせてください!ありがとうございます :slight_smile:

「いいね!」 1

@CCP_Aurora さん、確認いたします。Unicode 環境で正規表現を正しく動作させ、境界を適切に処理させるのは、以前少し苦労した記憶があります。これは明らかにバグのようです。

@gerhard さんも何かアイデアをお持ちかもしれません。以前、同様の問題に取り組まれたと記憶しています。

「いいね!」 4