\ d n'est pas aussi efficace que [0-9]
] Dans les discussions récentes, certaines personnes ont remis en question l'efficacité de l'utilisation [0123456789]
au lieu de [0-9]
ou \ d
dans des expressions régulières. Étonnamment, le test dans le moteur d'expression régulière C # a montré que \ d
est moins efficace que les deux autres options.
Causes possibles de l'inefficacité
\ d
Contient tous les nombres Unicode, pas seulement le 0-9 commun. Par conséquent, l'analyse des nombres non standard peut ralentir le moteur d'expression régulière. \ d
Contient des fonctionnalités supplémentaires autres que [0-9]
, ce qui peut nécessiter un traitement plus complexe. Ces caractéristiques supplémentaires peuvent affecter l'efficacité. Résultats du test
Pour prouver ce problème, les tests suivants ont été effectués:
\ d
, [0-9]
, ,
[0123456789] Expression régulière | temps | pourcentage de temps par rapport à \ d |
---|---|---|
\d | ] | 00: 00: 00.2141226 |
| [0-9] ] | 00: 00: 00.1357972|
| [0123456789] | ] | ]
Les résultats montrent que [0-9]
et
sont nettement meilleurs que \ d en termes d'efficacité.
en conclusion
Bien que \ d
puisse fournir une gamme plus large de capacités de correspondance numérique, il a sacrifié les performances. Pour les applications critiques de performance, il est recommandé d'utiliser le plus simple
ou [0123456789]
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3