Ich versuche einen Javascript Regex zu erstellen, der den Dateinamen ohne die Dateierweiterung erfasst. Ich habe die anderen Beiträge hier gelesen und 'gehe zu dieser Seite: Ссылка scheint die Standardantwort zu sein. Das scheint für mich nicht zu funktionieren. Also hier ist, wie ich versuche, die Regex zum Laufen zu bringen:
Am nächsten kam ich: / ([^ /] ). \ w $ Was in der Zeichenfolge ' Ссылка " exec () würde /index.htm und index erfassen.
Ich brauche das nur um index zu erfassen.
Lassen Sie uns durch den regulären Ausdruck gehen:
%Vor%Dieser Ausdruck sammelt alle Zeichen, die kein Schrägstrich sind, die sofort gefolgt werden (dank des Lookahead ) ) durch eine Erweiterung und das Ende der Zeichenfolge - oder anders gesagt, alles nach dem letzten Schrägstrich und bis zur Erweiterung.
Alternativ können Sie dies auch ohne reguläre Ausdrücke tun, indem Sie die Position des letzten /
und des letzten .
mit lastIndexOf
und erhalten eine substring
zwischen diesen Punkten:
getestet und funktioniert, auch für Seiten ohne Dateierweiterung.
%Vor% ([\w\d_-]*)
erhält einen String mit Buchstaben, Ziffern, Unterstrichen oder Bindestrichen.
\.?
vielleicht folgt auf den String ein Punkt.
[^\\/]*$
, aber sicher nicht gefolgt von einem Schrägstrich oder Backslash bis zum sehr Ende.
/i
oh yeh, Fall ignorieren.
Ich fand keine der Antworten in der Nähe von robust genug. Hier ist meine Lösung.
%Vor%Um mit der ursprünglichen Frage übereinzustimmen, wird standardmäßig die Erweiterung ausgeschlossen, aber das kann leicht umgekehrt werden.
Tags und Links javascript regex url