Konvertieren Array von Wörtern (Strings) zu Regex und verwenden Sie es, um Übereinstimmungen für eine Zeichenfolge zu erhalten

8

Was ist die prägnanteste und effizienteste Art, ein Array von Strings in einer Regex zu übersetzen und dann die Regex mehrmals in verschiedenen Strings zu verwenden, um die Ergebnisübereinstimmungen zu erhalten und dann über sie zu iterieren? Jetzt verwende ich Folgendes:

%Vor%

Leistung ist hier wichtig, also bitte einfach Javascript.

    
kuus 02.02.2015, 15:19
quelle

1 Antwort

14

Verbinden Sie sich einfach mit der Pipeline, indem Sie Array.join

verwenden %Vor%

und tun Sie dies einfach als if Bedingung ist nur redundant.

%Vor%
  1. Anstelle von initial 3 wird eine einzige Methode verwendet ( toString ruft intern join(",") auf) und replace function wird ebenfalls nicht verwendet.
  2. Wir haben eine unnötige if-Bedingung entfernt. Das ist ziemlich schnell.

Und da Sie über Regexen sprechen, möchte ich das sagen

  1. Eine einzige Regex-Initialisierung kostet Sie nicht viel.
  2. Wenn es Ihr Ziel ist, die Wörter im Array zu vergleichen, dann gehen Sie einfach mit String.indexOf , was eine Nicht-Regex-Form zum Lösen derselben ist.
Amit Joki 02.02.2015, 15:23
quelle

Tags und Links