2016-11-01 2 views
0

Was gilt als Best Practice und was ist am schnellsten zu berechnen?A-Za-z gegenüber a-z/i case-insensitiv

[A-Za-z] 

gegen

[a-z]/i 

Unter der Annahme, dass Sie nicht über den Rest der Regex Fall ist es egal. Ich möchte genau wissen, mit welchen 2 Regex's es am schnellsten geht. Oder führt es unter der Haube zu demselben Ergebnis?

+4

Leistung kann von Browser zu Browser unterschiedlich sein - haben Sie bei https://jsperf.com/ einige Testfälle versucht (oder wo auch immer)? Was das Best Practice betrifft, ist das wahrscheinlich eine Frage der Meinung, aber ich bevorzuge die '/ i'-Version, weil längere Regexes immer schwerer zu lesen sind, wenn man immer wieder 'A-Za-z' wiederholen muss. – nnnnnn

Antwort

1

Ein schneller Test auf jsperf.com, zeigt, dass die Suche nach einer einzelnen Zeichenfolge von a-z auf einer Beispielzeichenfolge Ergebnisse, die [a-zA-Z] ist etwas schneller.

Hier sind die Tests, die ich durchgeführt habe.

+0

"etwas schneller" --- für mich war das "leicht" weniger als 0,5%. Zählt es sogar als Unterschied? – zerkms

+0

@zerkms Es ist nur sichtbar, wenn ich es global testen und mehrmals ausführen. Ansonsten hätte ich gesagt, dass sie gleich schnell sind. Ich versuche immer noch, meine Antwort zu verbessern, da diese Sache variieren kann, wenn ich sie von meinem Node-Server aus starte. – choz

+0

https://jsperf.com/regex-perf-test-case-insensative Danke dafür, '/ [AZ]/i' ist der schnellere .. Aber nicht viel ... Wäre interessant zu sehen, was einige Absolute Experten Regex Gurus müssen jedoch sagen. –