4

Hindi(Devanagri) (UTF-16) で記述されたファイルを検索すると、以下の問題が発生しました。

ファイルには次が含まれます。

तरास ततत जुग नींद ना हा बु

最初の文字 'तर' は त + ् + र の複数のコード ポイントであることに注意してください。'त' を検索すると、最初の文字の त を含む 4 つの一致が得られます。私はJavaを使用しています。

複数のコード ポイント文字の一部ではない「त」を検索するにはどうすればよいですか。

どんな助けでも大歓迎です。:)

4

2 に答える 2

1

Unicode プロパティを使用してこれを行うことができると思います。

त(?!\p{M}+)

他の文字と組み合わせることが意図されている文字である M カテゴリのコード ポイントが後に続かない限り、त コード ポイントと一致する必要があります。否定先読みを使用してそのアサーションを行います。

E: すぐにうまくいかない場合は、試してみてください

\uxxxx(?!\p{M}+)

xxxx は त シンボルのコード ポイントの番号です。

于 2009-08-25T13:28:20.837 に答える