| | | | |
| |||||||
| JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |||
| Benutzer Registriert seit: 24.02.2010
Beiträge: 45
PHP-Kenntnisse: Fortgeschritten ![]() | Grundsätzlich ist dein Ausdruck nicht verkehrt, aber es geht eben auch mit einer Zeile Code: Zitat:
Und was ist mit Bilddateien, die 4 Buchstaben haben, wie z.B TIFF, JPEG? Wenn du {1,} benutzt um einen Mindestvorkommen zu kennzeichnen, ist ein + sinnvoller. Das + bedeutet "mindestens einmal". Aber solange alles funktioniert wie du das willst, ist es jnicht verkehrt. Die eine optimale Lösung gibt es nie
__________________ Zitat:
Geändert von Heiko R (05.11.2010 um 14:07 Uhr). | ||
| | |
| | ||
| Benutzer Registriert seit: 24.02.2010
Beiträge: 45
PHP-Kenntnisse: Fortgeschritten ![]() | Also erstmal: Ja, meine Variante ist unabhängig von Groß- und Kleinschreibung. Dafür steht das "i" am Ende: "Match case-insensitive" Das "g" steht für "finde den Ausdruck so oft wie er vor kommt". Ist hier in deinem Fall eigentlich nicht notwendig. Du hast geschrieben, dein String besteht aus 5 Gruppen: 1 mal Dateiname und dreimal Zahlen, jeweils getrennt von Unterstrichen, gefolgt von einer Dateiendung. Mit den Klammern die ich benutzt habe, habe ich die Teilabschnitte markiert. Damit "merkt sich" mein Ausdruck den gefunden Wert. Bis zu 9 solchen Klammern sind in einem regulären Ausdruck möglich. Die erste Klammer sucht nach einem String bestehend aus Buchstaben, Zahlen, Unter- und Bindestrich. Das + in der Klammer sagt, das in dem Ergebnis mindestens eins von den vorgenannten Zeichen matchen muss. Also ist sowohl der Dateiname "f" gültig, wie auch "f3" oder "fP_-9z". Statt [-_a-zA-Z0-9] könntest du auch einfach [-\w] schreiben. "\w" steht für alle alphanumerischen Zeichen und den Unterstrich. Die nächsten 3 Klammern suchen jeweils nach Zahlen. Hierfür steht, wie du selber schon rausgefunden hast, das "\d". Mit dem "?:" sage ich noch, das ich im Ergebnis diese Abschnitte NICHT angezeigt bekommen möchte. Da sie nicht benötigt werden, werfe ich sie sozusagen einfach weg. Nach dem dritten Zahlenblock muss ein Punkt kommen, gefolgt von der Zeichenkette "jpg" oder "jpeg" oder "gif" oder "png" oder "bmp". Wie bereits erwähnt, steht das "i" am Ende meines Ausdrucks für "Groß- und Kleinschreibung egal", also wäre auch ein "JPG" richtig. Das Zirkumflex ^ am Anfang meines Ausdrucks sagt, dass das erste Klammernpaar am Anfang stehen muss und das Dollarzeichen $ besagt, dass der Filetype am Ende des Strings stehen muss. So... Und wenn du match() benutzt, kannst du mit "RegExp.$(eine_zahl)" auf das jeweilige Klammernpaar direkt zugreifen. Weil ich mit "?:" die drei Zahlenblöcke im String "verworfen" habe, steht entsprechend RegExp.$1 für den Bildnamen (Klammer eins) und RegExp.$2 für die Dateiendung (letztes Klammernpaar). Würdest du die "?:" weglassen, wäre die Dateiendung in RegExp.$5 versteckt
__________________ Zitat:
| |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Persistence Framework | #Avedo | Software-Design | 37 | 28.03.2009 17:32 |
| Dash aus Datenbank richtig darstellen | knit | PHP-Fortgeschrittene | 7 | 06.03.2009 18:51 |
| Timestamp in Datenbank: String oder int | PsychoEagle | Off-Topic Diskussionen | 6 | 03.03.2009 12:16 |
| Hashfunktion String -> Integer | Flor1an | PHP Tipps 2009 | 10 | 26.02.2009 01:16 |
| jQuery Plugin - so richtig? | stayInside | JavaScript, Ajax und mehr | 5 | 23.02.2009 12:34 |
| string in string suchen,ersetzen,zusammenfügen und update machen | litterauspirna | PHP Tipps 2009 | 24 | 08.01.2009 13:38 |
| Event abfangen | Ambience | JavaScript, Ajax und mehr | 4 | 30.08.2007 14:36 |
| Alle Felder nach String durchsuchen | Jacks Rache | Datenbanken | 6 | 08.08.2005 09:46 |
| In allen Spalten nach String suchen | Jacks Rache | Datenbanken | 0 | 05.08.2005 20:15 |
| In allen Tabellen nach String suchen | Jacks Rache | Datenbanken | 0 | 05.08.2005 11:18 |
| String in allen Spalten suchen | Jacks Rache | Datenbanken | 0 | 05.08.2005 09:43 |
| Alle Spalten nach String durchsuchen | Jacks Rache | Datenbanken | 0 | 05.08.2005 09:41 |
| Problem Checkboxen - string mit Zahlen die gecheckten setzen | Cyberbob_at_tot | PHP Tipps 2005-2 | 5 | 11.06.2005 11:36 |
| string -> int, nur wenn string zahl ist | PHP Tipps 2005-2 | 3 | 06.06.2005 12:33 | |
| [Erledigt] String mit Leerzeichen auffüllen | HTML, Usability und Barrierefreiheit | 2 | 27.10.2004 18:47 | |