Java 正規表現の w および b に相当する Unicode
Java の正規表現実装では Unicode のサポートが制限されているため、単語または単語の境界を正確に検出します。デフォルトの w および b エスケープは、ASCII 文字にのみ対応します。
この問題に対処するには、これらのエスケープを書き換えて Unicode 対応の定義に置き換える関数の使用を検討してください。この関数は、次の 14 の charclass エスケープを書き換えることができます:
\w \W \s \S \v \V \h \H \d \D \b \B \X \R
書き換えられたエスケープ定義:
境界定義:
境界エスケープ (b および B) は、次のロジックを使用して書き換えることができます:
による Java の修正Java:
この関数は、元のディスカッション スレッドで提供されたコードを使用して Java で実装できます。このコードを使用すると、正規表現パターンを書き換えて Unicode 文字をより適切に処理できます。
注:
Java 7 では、パターン クラスに UNICODE_CHARACTER_CLASS フラグが導入され、これにより、Unicode 文字の Unicode サポートが有効になります。これらはデフォルトでエスケープされます。
以上が\w および \b の Java 正規表現における Unicode サポートを改善するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。