![]() |
Regex Erläuterungen
Hallo,
mit TRegEx.IsMatch prüfe ich Inhalte auf Vorgaben von Datev. Bei der Rechnungsnummer ist die Vorgabe '^[a-zA-Z0-9$%&\*\+\-/]{1,36}$' Da kommt "keine Übereinstimmung" raus wenn z.B. "WZ 123456" oder "12.123.45678" in der Rechnungsnummer steht. Sehe ich das richtig, dass "a...z", "A...Z", "*", "+" und "-" erlaubt sind und die Länge 1-36 Zeichen sein muss? Was aber bedeutet "$%&" ? Danke Ciao Stefan |
AW: Regex Erläuterungen
Protipp:
Auch: Klar ist die zwischenmenschliche zärtliche Wärme hier in diesem Forum durch nichts zu toppen, aber grade solche Fragen sind eigentlich perfekt für x-beliebige KIs, welche auf deine Frage ausgespuckt hätte: Zitat:
|
AW: Regex Erläuterungen
Danke,
die Erklärung des Tools scheint sinnvoll, nicht aber der Regex den Datev vorgibt! Warum soll "a", "m" und "p" extra noch mal erlaubt sein, ist doch schon vorn bei "a...z" erlaubt? Ciao Stefan |
AW: Regex Erläuterungen
Zitat:
![]() |
AW: Regex Erläuterungen
Jupp, & sollte eigentlich ein & sein
und $% sind diese beiden Zeichen. Und ansonsten ist alles richtig. Da aber weder das Leerzeichen noch der Punkt erlaubt sind (nicht im Suchstring enthalten), können diese beiden Rechnungsnummern natürlich nicht getroffen werden. |
AW: Regex Erläuterungen
Vielen Dank, jetzt habe ich es begriffen!
Ciao Stefan |
AW: Regex Erläuterungen
Kleine Nachfrage:
Gibt es eine einfacvh Möglichkeit die falschen Zeichen, die nicht dem Muster entsprechen, herauszufiltern und dem Benutzer anzuzeigen (also z.B. '"." und " " sind nicht erlaubt"' Ciao Stefan |
AW: Regex Erläuterungen
![]()
Delphi-Quellcode:
'[^a-zA-Z0-9$%&*+\-\/]'
Delphi-Quellcode:
'[^a-zA-Z0-9$%&*+\-\/]+'
![]() ![]() |
AW: Regex Erläuterungen
Danke!
Es gibt mehrere Aufrufmöglichkeiten von Replace, irgendwie fehlen mir da Parameter... Kannst Du mit bitte mit 3 Zeilen Code weiterhelfen? Ciao Stefan |
AW: Regex Erläuterungen
Mein Ansatz läuft über Match-Groups (die Runden Klammern um den Ausdruck von himitsu). Damit bekommst du jedes einzelne Zeichen, das nicht deiner Vorgabe entspricht.
Delphi-Quellcode:
var res := TRegEx.Matches('12.123.45678', '([^a-zA-Z0-9$%&*+\-\/])');
for var i := 0 to res.Count - 1 do ShowMessage('nicht erlaubt: "' + res[i].Value + '"'); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz