Ich möchte Dateipfad mit Schluck Aufgabe ersetzen. Dazu muss ich eine Regex schreiben:JavaScript Regex zum Überschreiben des Dateipfads
Ich habe eine Ordnerstruktur ../assets/js/components/main/main.component.html
, wo ich den gesamten Pfad, ../assets/js/components/**/
, mit einer leeren Zeichenfolge ersetzen muss. So nach einem Regex auf meinem Beispiel Anwendung soll ich nur die HTML-Datei erhalten, z.B .: main.component.html
Die Regex sollten nur den Pfad ../assets/js/components/
mit nur einer Ebene von Unterordner entsprechen, z.B .: ../assets/js/components/**/
. Weg mit nur ../assets/js/components/
sollte nicht übereinstimmen und den Pfad mit mehr als einem Unterordner weder ../assets/js/components/main/shouldnotmatch/
Ich schrieb bereits ein Regex:
^..\/assets\/js\/components\/(?:\[^\/\]+\/?)*$
Das Problem hier ist, dass es alles auswählt. Irgendeine Idee, wie man das repariert?
EDIT:
Weitere Beispiele:
../assets/js/components/main/ => ../assets/js/components/main/ ../assets/js/components/ => should not match ../assets/js/components/test/index.html => ../assets/js/components/test/ ../assets/js/components/main/shouldnotmatch/shouldnotmatch.html => ../assets/js/components/main/ ../assets/js/components/some_components.html => should not match ../assets/js/components/1.html => should not match
Als erstes müssen Sie fliehen müssen '.' – Rajesh
Beachten Sie, dass Sie verwenden können,'^\ \ \../assets \/js \/components \/([^ \ /] + \ /?) $ 'und vergewissere dich, dass du innerhalb des Codes auf den Wert der Gruppe 1 verweisst. Beachten Sie, dass Sie in Ihrer Demo '\ n' in' [^ \ /] '' einfügen müssen, um eine Übereinstimmung zwischen den Zeilen zu vermeiden. Siehe https: // regex101.com/r/PbCnXa/1 –
@ WiktorStribiżew, aber dann wählt es nur die erste. Es sollte '../ assets/js/components/** /' überall auswählen. – Gabriel