dの正規表現の効率は[0-9]
ほど効率的ではありません 最近の議論では、一部の人々は、正規表現でまたは
の代わりにを使用する効率に疑問を呈しました。予想外に、C#正規表現エンジンのテストは、[0123456789]
の効率が他の2つのオプションよりも低いことを示しています。 [0-9]
d
効率が低いことの考えられる原因d
unicode番号:
には、一般的な0-9だけでなく、すべてのUnicode番号が含まれています。したがって、分析的でない非標準の数値は、正規表現エンジンの速度を遅くする可能性があります。d
以外の追加関数を含めて、より複雑な処理が必要になる場合があります。これらの追加機能は効率に影響します。 d
この問題を証明するために、次のテストが実行されました。
[0-9]
各正規表現(、、
)の時間を処理する時間:
d
結論[0-9]
[0123456789]
正则表达式 | 时间 | 相对d的时间百分比 |
---|---|---|
d |
00:00:00.2141226 | 100% |
[0-9] |
00:00:00.1357972 | 63.42% |
[0123456789] |
00:00:00.1388997 | 64.87% |
以上が\ dは正規表現で[0-9]または[0123456789]よりも効率が低いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。