[PHP]PCRE正規表現のUTF-8モードにおける「d」の挙動

PHPで、PCRE正規表現の使用時に「u」オプションを指定すると、パターン文字列をUTF-8文字列として処理する「UTF-8モード」になります。

参考:PHP: 正規表現パターンに使用可能な修飾子 – Manual

UTF-8モードでは、「d」は半角数字以外の数字(全角数字等)にもマッチするようになります:

ただし、全角数字にマッチさせたいなら、文字クラス[0-9]の方が良いでしょう:

dは想定外の「数字」にもマッチしてしまうため、使いどころが難しいと思います。

コメントを残す