2016-06-27 12 views
0

Ich habe eine einfache Frage:Dateisequenz mit RegExp in Javascript Finden

Wie verwende ich RegExp in Javascript-Strings zu finden, die diesen Filter passt: *[0-9].png um Dateisequenzen zu auszufiltern.

Zum Beispiel:

bird001.png 
bird002.png 
bird003.png 

oder

abc_1.png 
abc_2.png 

Sollte Saiten ignorieren wie abc_1b.png und abc_abc.png ich es in einer GetFiles Funktion nutzen werde.

var regExp = new RegExp(???); 
var files = dir.getFiles(regExp); 

Vielen Dank im Voraus!

EDIT:

Wenn ich eine bestimmte Zeichenfolge haben, sagen wir mal,

var beginningStr = "bird"; 

Wie kann ich überprüfen, ob eine Zeichenfolge mit dem Filter übereinstimmt

beginningStr[0-9].png

? Und idealerweise zu BeginnString ohne Berücksichtigung der Groß-/Kleinschreibung. Damit würde der Filter Bird01 und bird02 erlauben.

Danke nochmal!

Antwort

1

Alles, was von [0-9] und EnEd von .png gefolgt ist:

/^.*[0-9]\.png$/i 

Oder einfach wird ohne begining (regex finde es selbst):

/[0-9]\.png$/i 
+0

Das scheint zu funktionieren :) danke! – user1066278

+0

Hallo, ich habe die Frage aktualisiert, hast du eine Lösung dafür? – user1066278

1

Wenn ich richtig verstanden habe, müssen Sie einen regulären Ausdruck, die Dateien mit Namen übereinstimmt, die:

  1. mit Buchstaben beginnen a-z, A-Z
  2. Optional gefolgt mit Einzel _
  3. Gefolgt von einer oder mehreren Ziffern
  4. Ende mit .png

Regex für das ist [a-zA-Z]_{0,1}+\d+\.png

Sie könnten Online-Regex-Builder versuchen, die sofortige Erklärung bieten, was Sie schreiben.

0

Wenn ich richtig verstanden habe,

var re = /\s[a-zA-Z]*[0-9]+\.png/g; 
var filesArr = str.match(re); 
filesArr.sort();// you can use own sort function 

Bitte geben Sie, was die dir Variable

+0

Warum der Stern nur lateinisches Alphabet wird? – Qwertiy

0

Um die PNG-Dateien ohne die Reihenfolge zu bekommen? In einer Erklärung:

var files = dir.getFiles(/.*[^\d]+\.png$/i); 

[^\d]+ entspricht den nicht-Nummer Zeichen.

Um nur die sequenziert:

var files = dir.getFiles(/.*\d+\.png$/i);