通常のphp正規表現(ASCIIモード)では、「\ w」(単語)は「文字、数字、および_」を意味することを知っています。しかし、「u」修飾子でマルチバイト正規表現を使用している場合、それはどういう意味ですか?
preg_replace('/\W/u', '', $string);
通常のphp正規表現(ASCIIモード)では、「\ w」(単語)は「文字、数字、および_」を意味することを知っています。しかし、「u」修飾子でマルチバイト正規表現を使用している場合、それはどういう意味ですか?
preg_replace('/\W/u', '', $string);
文字、数字、またはアンダースコア以外のもの。
したがって、Unicode 文字クラスに関して\W
は、L または N 文字クラスに属さず、アンダースコア文字以外のすべての文字に相当します。
構文を使用して記述すると\p{xx}
、 と同等になり[^\p{LN}_]
ます。