Wie verbessert man (zu viele Token entfernen?) langsam regexp in JavaScript?

8

Ich habe die Funktion, einen Teil der Zeile vor dem Doppelpunkt fett zu machen.

%Vor%

und

%Vor%

Sie können es auf jsfiddle: Ссылка

testen

Wo mache ich einen Fehler? Ich kann innerhalb des Callbacks eine Wortbegrenzung machen. Kann es in regex selbst besser gemacht werden? Danke für deinen Trick.

    
Václav Juchelka 05.12.2014, 12:26
quelle

3 Antworten

2

Ihr /^([^*:\n ]+ ?){1,10}:/gm regex zeigt katastrophales Backtracking : Sie verschachteln + und {1,10} Wiederholung mit (möglicherweise) nichts dazwischen. Korrigieren Sie dies, indem Sie das Leerzeichen zwischen den Gruppen zur Übereinstimmung bringen:

%Vor%

oder

%Vor%     
Bergi 05.12.2014 15:21
quelle
1

js level kann so sein:

%Vor%     
websky 05.12.2014 15:02
quelle
0
%Vor%

Probieren Sie das aus.Siehe Demo.

Ссылка

    
vks 05.12.2014 13:35
quelle

Tags und Links