\ dは[0-9]
ほど効率的ではありません。最近の議論では、一部の人々は、正規表現で
または \ d
\ Dの代わりに [0123456789]
を使用する効率に疑問を呈した。驚くべきことに、C#正規表現エンジンでのテストは、 \ d
が他の2つのオプションよりも効率が低いことを示しました。
非効率性の可能性のある原因
\ d
には、一般的な0-9だけでなく、すべてのユニコード番号が含まれています。したがって、非標準の数値を解析すると、正規表現エンジンが遅くなる可能性があります。 \ d
には、 [0-9]
以外の追加機能が含まれています。これらの追加機能は、効率に影響を与える可能性があります。 テスト結果
この問題を証明するために、次のテストが実行されました:
\ d
、 [0-9]
、、
[0123456789] 正規表現 | 時間 | \ d |
---|---|---|
\ d | ] | 00:00:00.2141226 |
| [0-9] ]] | 00:00:00.1357972|
| [0123456789] | ] | ]]
結果は、 [0-9]
および
は、効率の観点から \ d よりもかなり優れていることを示しています。
結論は
\ d
は、より広い範囲のデジタルマッチング機能を提供できますが、パフォーマンスを犠牲にしています。パフォーマンスが批判的なアプリケーションの場合、よりシンプルな
または [0123456789]
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3