Ich portiere eine Bibliothek von PHP nach JavaScript und ich bin auf diesen regulären Ausdruck gestoßen, einige Teile davon sind mir unklar.
%Vor%Unklare Teile sind
*+
++
Ich weiß, dass dieser Ausdruck Zeichenfolgen wie
akzeptieren sollte %Vor%Danke für die Erklärung.
BEARBEITEN: Dieser Ausdruck wird mit PCRE_UNGREEDY
Modifikator
++
Aus Was ist doppelt plus in regulären Ausdrücken?
Das ist ein Possessive Quantifier .
Es bedeutet im Grunde, dass, wenn die Regex-Engine später nicht zusammenpasst, es nicht zurückgehen und versuchen wird, die hier gemachten Übereinstimmungen rückgängig zu machen. In den meisten Fällen lässt es die Engine viel schneller scheitern und gibt Ihnen die Kontrolle, wo Sie sie brauchen - Das ist sehr selten für die meisten Anwendungen.
*+
*+
ist der Possessivquantifizierer für den *
Quantifizierer.
Ein Plus nach einem Quantifizierer (?, * oder +) ist ein Possessivquantifizierer.
Kann mir jemand Possessive Quantifiers erklären? (Reguläre Ausdrücke)