2

PHP では、文字の前後の分音符号\bが単語の境界 ( ) を作成しますが、これは望ましい動作ではありません。他のプログラミング言語の中では普通ですか?\b(ほとんどの言語でとに問題があることは知っています\w) この問題を効果的に解決するにはどうすればよいですか?

Unicode の観点から、どの Unicode カテゴリが単語の境界を作成しますか?

それは例です:

<?php
 preg_match_all('#\bج\b#u','مَجْل',$t); // the font of this site does not display diacritics
var_dump($t);
4

2 に答える 2

1

PCRE では:

\d \p{Nd} に一致する任意の文字 (10 進数)

\s \p{Z} に一致する任意の文字に、HT、LF、FF、CR を加えたもの

\w \p{L} または \p{N} に一致する任意の文字とアンダースコア

定義によれば、Unicode モードで定義\wを推測できます。\bそのため、論理が 2 つの単語境界を持つ文字列 Åström(分解された文字) の場合でも、複数の単語境界が検出され*A*̊*stro*̈*m*ます。

于 2013-04-12T03:24:33.333 に答える