d
対[0-9]
- 驚くべき比較最近の議論は、正規表現でのd
と[0-9]
の相対的な効率についての議論を引き起こしました。 最初のテストでは、d
がより高速であることが示唆されましたが、さらなる調査により、より微妙な現実が明らかになりました。d
は、特定のシナリオでは効率が低くなります。この記事では、この矛盾の背後にある理由を探ります
重要な違いは、各式の一致を設定する文字にあります。
すべてのユニコード数字が含まれます。
[0-9]
この拡張されたマッチング範囲d
は、パフォーマンスに影響を与える可能性があります。 正規表現エンジンは、より大きな文字セットを評価する必要があり、処理時間が増加する可能性があります。 多くの場合、違いは無視できるかもしれませんが、大きなデータセットまたは複雑なregexパターンを扱うと、影響はより顕著になります。
次のコードスニペットは、:
このコードは、すべてのUnicodeコードポイントを繰り返し、d
によって桁数として分類されたコードのみを追加し、
。
したがって、d
1 2 3 4 5 6 7 8 9 |
|
はより効率的なオプションです。
以上が`\ d`は` [0-9] `よりも効率が低いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。