3

通常のphp正規表現(ASCIIモード)では、「\ w」(単語)は「文字、数字、および_」を意味することを知っています。しかし、「u」修飾子でマルチバイト正規表現を使用している場合、それはどういう意味ですか?

preg_replace('/\W/u', '', $string);
4

1 に答える 1

6

文字、数字、またはアンダースコア以外のもの。

したがって、Unicode 文字クラスに関して\Wは、L または N 文字クラスに属さず、アンダースコア文字以外のすべての文字に相当します。

構文を使用して記述すると\p{xx}、 と同等になり[^\p{LN}_]ます。

于 2010-01-07T20:26:14.377 に答える