c#正規表現
より遅いより遅いd
この記事では、C#正規表現エンジンでの驚くべき発見について説明しています。[0-9]
文字型は、がスーパーセットであっても、
d
[0-9]
[0-9]
d
効率の違いの主な理由は、これら2つのキャラクターの違いです。
d
[0-9]
:Unicode番号の文字を一致させます。これには、標準の数値0〜9だけでなく、異なる言語やライティングシステムで使用される他の数字も含まれます。たとえば、ペルシャの数字とデヴァナガリの数も
d
パフォーマンスへの影響d
[0-9]
テスト検証[0123456789]
正規表現:00:00:00.2141226(遅い)
正規表現:00:00:00.1357972(fast)d
:00:00:00.1388997(よりもわずかに遅い)
結論
d
の便利な略語ですが、パフォーマンスの観点からは必ずしも最良の選択ではありません。標準番号0〜9のみを一致させる必要がある場合は、以上がC#regexで「[0-9] `よりも遅いのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。