Wie ist einfachste weg reguläre ausdrücke teile auszuschliessen sachen negetavieren
5 Antworten zur Frage
Videos zum Thema
Wie ist der einfachste weg bei Reguläre Ausdrücke teile auszuschliessen bzw sachen zu negetavieren?
achso vor und nach dem zu durchsuchende text sind ausserdem noch unbekannte zeichen
Mit einem! vor dem regulären Ausdruck wird der Ausdruck negiert. Wenn z.B. alle Buchstaben an der betreffenden Stelle akzeptiert, dann akzeptiert! keinen Buchstaben an der betreffenden Stelle.
Nehmen wir an, du filterst die Grafikdateien auf die Weise :
.*\.(||Gg
Funktioniert bei dem nicht
Myregextester.com is the premier online regular expressions tester that allows visitors to construct, test, and optimize regular expressions.
mit Standart einstellungen und
asdsaasd.jpg
Ausschließen geht nicht, ich würde "Grafiken" mit str_replace oder preg_replace einfach durch nichts ersetzen.
Bei dem 2. könnte man nach der Zahl vor dem Wort "Pixel" suchen, also " Pixel" (Leerzeichen vor "(").
Regex sind in den Standardeinstellungen "greedy", d.h. es wird immer versucht, so viele Zeichen wie möglich in einem Ausdruck zu matchen. Daher erfasst \d+ die ganze Zahl, egal wie viele Stellen.
Eine bestimmte Zeichenkette, z.B. "Grafiken" in einem regulären Ausdruck auszuschließen, ist im Allgemeinen *nicht* möglich. Man kann zwar Zeichenmengen ausschließen, aber dann kann man keine Reihenfolge der Zeichen angeben.
In Perl suche ich zur Vorbereitung eine längere Zeichenkette, in der die gesuchte Zeichenkette vorkommt. Darin markiere ich alles außer der gesuchten Zeichenkette.