Gestern bin ich beim Ausführen von mergeCSS auf das Problem gestoßen, dass ich diese beiden regulären Ausdrücke mit Hilfe von CE-Klassenkameraden speziell aufgezeichnet habe Verwenden Sie sie in Zukunft.
Das erste ist das Problem der übereinstimmenden Bildpfade. Die zu verarbeitende Zeichenfolge lautet:
Nachfolgend der zitierte Inhalt: |
Was ich ursprünglich geschrieben habe, war:
Nachfolgend der zitierte Inhalt: |
Das Ergebnis ist:
Nachfolgend der zitierte Inhalt: |
Wie Sie sehen, entspricht das Ergebnis der Zuordnung zweier Bilder zu einem nicht Ihren Erwartungen. Ändern Sie es wie folgt in Lazy Matching:
Nachfolgend der zitierte Inhalt: |
Das Ergebnis ist:
Nachfolgend der zitierte Inhalt: URL(demo.jpg); |
Es wurden zwei Bilder abgeglichen, was das gewünschte Ergebnis ist. :) :)
Das zweite Problem ist die Verwendung von Variablen in regulären Ausdrücken. Schauen wir uns zunächst die Beschreibung des RegExp-Objekts und der Methode „replace()“ an :
Nachfolgend der zitierte Inhalt: |
Der gesamte Inhalt zwischen „/“ wird als regulärer Ausdruck behandelt, sodass der Variablenname als Zeichenfolge behandelt wird. Ohne „/“ hinzuzufügen? Das ist in Ordnung, aber wenn Sie kein „/“ hinzufügen, können Sie den Abgleichsmodus nicht angeben, sondern nur den ersten Abgleich.
Nachfolgend der zitierte Inhalt: Über das RegExp-Objekt kann ein neues RegExp-Objekt mit dem angegebenen Modus und den angegebenen Flags generiert werden. |
Dann:
Nachfolgend der zitierte Inhalt:
|
Hier ist zu beachten, dass zum Entkommen „\“ verwendet werden muss, weil
Nachfolgend der zitierte Inhalt: Wenn das Argumentmuster ein regulärer Ausdruck und keine Zeichenfolge ist, erstellt der RegExp()-Konstruktor ein neues RegExp-Objekt mit demselben Muster und denselben Flags wie das angegebene RegExp. |
Während dieses Vorgangs wird „\“ in „“ umgewandelt, d. h. das obige Ergebnis ist:
Nachfolgend der zitierte Inhalt:
|