Frage zu RegEx

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
Skreboy
Junior Member
Junior Member
Posts: 6
Joined: 2003-12-18, 13:05 UTC

Frage zu RegEx

Post by *Skreboy »

Hallo zusammen,

erstmal freue ich mich über die Implementation von der RegEx-Suche im TC.

Folgende Abfrage bekomme ich absolut nicht auf die Reihe:

ich suche alles Dateien die in ein bestimmtes Muster passen, aber nicht "~" im Dateinamen enthalten ist, sozusagen eine UND-Verknüpfung.

meine Abfrage sieht so aus:

^8-[1][0][4]-[5][0][3]-[6-9][0-9][0-9].*\.sld(prt|asm|drw)

d.h. suche alle Dateien die mit 8-104-503-... beginnen das klappt auch so ganz gut, aber ich würde gern alle Dateien ausschließe die das "~"-Zeichen enthalten.

Wie muss dann die Abfrage aussehen.

Gruß

Manuel
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6507
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Und Verknüpfungen gehen mit RegularExpressions nicht.
Du kannst aber zuerst deine jetzige Suche starten, dass Ergebniss anwenden und in dieser Liste dann alles suchen, was nicht ~ enthält
User avatar
Clas Hortien
Member
Member
Posts: 198
Joined: 2003-03-03, 15:03 UTC

Re: Frage zu RegEx

Post by *Clas Hortien »

[quote="Skreboy"]
d.h. suche alle Dateien die mit 8-104-503-... beginnen das klappt auch so ganz gut, aber ich würde gern alle Dateien ausschließe die das "~"-Zeichen enthalten.
[/quote]

Tach,

das geht, ich habe mal den String etwas überarbeitet: Die vorderen Zeichenklassen (8-[1][0][4]-[5][0][3]-[...) kann man gut zusammenfassen, das macht die Sache etwas übersichtlicher, da es ja eh feste Werte sind.

Anstatt des Punktes suchst Du einfache eine Zeichenklasse die das ~ nicht enthält, also [^~]. Das ^ innerhalb einer Zeichenklasse steht für das NICHT, also alle Zeichen die nicht ~ sind:

^8-104-503-[6-9][0-9][0-9][^~]*\.sld(prt|asm|drw)

Wenn Du noch andere Zeichen nicht willst, einfach mit in die Zeichenklasse schreiben, also [^~äöü] o.ä..

Ich hoffe das hilft.

Gruß
Clas

P.S.: :wink: Du hast aber komische Dateien zu verwalten.
Skreboy
Junior Member
Junior Member
Posts: 6
Joined: 2003-12-18, 13:05 UTC

Re: Frage zu RegEx

Post by *Skreboy »

Clas Hortien wrote:^8-104-503-[6-9][0-9][0-9][^~]*\.sld(prt|asm|drw)

Wenn Du noch andere Zeichen nicht willst, einfach mit in die Zeichenklasse schreiben, also [^~äöü] o.ä..

Ich hoffe das hilft.

Gruß
Clas

P.S.: :wink: Du hast aber komische Dateien zu verwalten.
Hallo Clas,

erstmal VILEN DANK für die Hilfe. KLappt soweit auch ganz gut.

Ich habe leider noch eine andere Abfrage, suche die auch wieder "nach so einer komischen" Zahlenkombination.

Sie soll alle Files ausgeben, die am Anfang KEIN ~ haben ODER am Anfang mit 8... beginnen.

So habe ich es probiert:

^([^~]|8-104-503-[6-9][0-9][0-9])*\.sld(prt|asm|drw)

hat aber nicht hingeauen.

Hast Du vielleicht eine Idee?

Danke

Gruß

Manuel
User avatar
Clas Hortien
Member
Member
Posts: 198
Joined: 2003-03-03, 15:03 UTC

Re: Frage zu RegEx

Post by *Clas Hortien »

[quote="Skreboy"]
Sie soll alle Files ausgeben, die am Anfang KEIN ~ haben ODER am Anfang mit 8... beginnen.

So habe ich es probiert:

^([^~]|8-104-503-[6-9][0-9][0-9])*\.sld(prt|asm|drw)

hat aber nicht hingeauen.
[/quote]

So suchst Du Dateien, die nicht ~.sld... oder so heissen wie in dem ersten Fall (8-104-503....).

Deine Anforderung ist etwas undeutlich: Die Dateien die nicht mit ~ anfangen beinhalten auch die, die mit 8 anfangen, also brauchst Du als einziges Kriterium nur NICHT ~.

^[^~]-104-503-[6-9][0-9][0-9]*\.sld(prt|asm|drw)

Das sollte es eigentlich schon gewesen sein. Mit [^~] suchst Du nur ein Zeichen und das darf nicht ~ sein, also genau das was Du suchst, oder ?

Gruß

Clas
Post Reply