regex | n-faches Vorkommen oder gar keins

yohb7Xoi

Mitglied
Ich hab ein Problem mit einer regex und komme dabei nur mäßig gut weiter. Ich habe einen String vor mir, der bisher von Semikolons getrennt ist:
"Beispiel 1;Beispiel2"

In Zukunft soll es möglich sein, auch optional für jedes Einzelelement noch eine # und eine Zahl hinzuschreiben:
"Beispiel1#10;Beispiel2#30"

Der String darf jedoch keine Mischform der beiden sein:
"Beispiel1#10;Beispiel2" wäre somit nicht erlaubt.

Am einfachsten ist natürlich, den String am Semikolon zu splitten und dann zu schauen, ob jedes Element der Regex genügt, aber ich hoffe, dass es eine Möglichkeit gibt mit einer regex zu klären. Habe ein bisschen mit lookbehind rumgespielt, komme aber zu keiner befriedigenden Lösung.
 

kaoZ

Top Contributor
Am einfachsten ist natürlich, den String am Semikolon zu splitten und dann zu schauen, ob jedes Element der Regex genügt, aber ich hoffe, dass es eine Möglichkeit gibt mit einer regex zu klären.

Wie soll deiner Meinung nach das ganze sonst von statten gehen ?

Du hast einen Regulären Ausdruck , der String ( input ) wird mit deinem Pattern verglichen , ist dieser so wie er soll, wird er akzeptiert , andernfalls eben nicht , ich verstehe dein Problem da jetzt nicht so wirklich-

Der String darf jedoch keine Mischform der beiden sein:
"Beispiel1#10;Beispiel2" wäre somit nicht erlaubt.

Da stellt sich mir dann die Frage, wie du die CSV Datei einließt, da hier im normalfall ein splitten beim Separator, ( ; ) hier wie du eben schon erwähnt hast das sinnvollste wäre, die Prüfung findet dann im Regelfall nach dem aufteilen erst statt, ansonsten müsstest du jeden einzelnen Character in seiner Abfolge überprüfen und dann einzeln einlesen, was ich für unfug halte, oder die Gesammte CSV einlesen ohne zu splitten, was ebenfalls eher suboptimal ist.

->Einlesen->Splitten->überprüfen anhand REGEX->handeln.

die Frage die sich mir da dann noch stellt ist , wer erstellt diese Dateien ? Werden sie manuell oder durch eine andere Anwendung erstellt ?
 
Zuletzt bearbeitet:

yohb7Xoi

Mitglied
Jetzt wo ich deine Antwort lese, stelle ich fest, dass ich gar keine richtige Frage gestellt habe. Gar nicht so clever von mir :). Letztlich geht es darum den String auf Validität zu überprüfen. Da das ganze innerhalb von GWT stattfindet und ich bisher in der Ecke Dinge per regex prüfe, dachte ich mir, ich kann dies auch dieses Mal so erledigen, dann bräuchte ich keine Sonderlogik. Die Strings sind Benutzereingaben und werden nach der Validierung gespeichert.
 

kaoZ

Top Contributor
dachte ich mir, ich kann dies auch dieses Mal so erledigen, dann bräuchte ich keine Sonderlogik.

Nunja, du kommst ohnehin nicht drumherum die Daten einzulesen, was du machen könntest ist eben schon während des Einlesens der einzelnen Elemente ( welche jeweils an dem jeweiligen Separator gesplittet werden ) zu prüfen ob das ggf. in einer lokalen Variable gespeicherte letzte Element eine Raute (#) enthält oder nicht , und dann daran deine Fallunterscheidung zu treffen ob weiter eingelesen wird oder ob du den vorgang abbrichst und ggf. eine Fehlermeldung ausgibst das die Datei nicht Ordnungsgemäß Formatiert ist etc... nur so als Gedankengang :)

dies ließe sich sicher auch anhand eines Regulären Ausdrucks festmachen.
 
Zuletzt bearbeitet:

arilou

Bekanntes Mitglied
Um mal zurück auf dir ursprüngliche Frage zu kommen
"geht das per RegExp?"
Ich bin zwar kein RegExp-Spezialist, aber es sollte eigentlich gehen, à la
{Fall1 OR Fall2}
mit Fall1: alle Teilstrings haben KEIN "#xx" (~> das ganze ist eine *-fache Liste von {Beispiel123} )
und Fall2: alle Teilstrings haben "#xx" (~> das ganze ist eine *-fache Liste von {Beispiel123#321} )

Als konkrete RegExp musst's aber selbst ausformulieren...
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Frage regex greater than less than Allgemeine Java-Themen 7
N Regex schlägt nicht an Allgemeine Java-Themen 10
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
T regex case insensitive trimmed Allgemeine Java-Themen 6
S Zeichen | in regex Allgemeine Java-Themen 8
X Regex mit mehreren Bedingungen machen Allgemeine Java-Themen 5
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
C Java17 und Regex Allgemeine Java-Themen 13
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
N Gierigen Regex in nicht-gierigen umwandeln Allgemeine Java-Themen 4
N E-Mail Validator (ohne Regex!) Allgemeine Java-Themen 7
OnDemand Regex von bis Allgemeine Java-Themen 6
W Versionsnummer auslesen - Regex ist zickig Allgemeine Java-Themen 2
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
G Regex Allgemeine Java-Themen 2
L regex ganzer string? Allgemeine Java-Themen 2
MiMa Geldbetrag mit regex ermitteln. Allgemeine Java-Themen 14
W RegEx Stringliteral finden - Jflex Allgemeine Java-Themen 5
D Regex Probleme Allgemeine Java-Themen 2
Kirby.exe Regex charakter ignorieren Allgemeine Java-Themen 12
S Java SAT (Haltbarkeitsproblem) mit Regex Allgemeine Java-Themen 6
S [Regex] Nur diese Zeichen beachten Allgemeine Java-Themen 1
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
J Compilerfehler bis in java.util.regex.Pattern... Allgemeine Java-Themen 2
C PDFBox: Nach RegEx ganze Zeile Allgemeine Java-Themen 4
S Regex mit UND-Verknüpfung Allgemeine Java-Themen 1
P RegEx für Zeiten Allgemeine Java-Themen 7
D Regex: Komplettes Wort bekommen Allgemeine Java-Themen 3
Neumi5694 Operatoren regEx für das Erstellen eines Strings verwenden Allgemeine Java-Themen 3
P RegEx Allgemeine Java-Themen 3
W String Parsen und auf eigenes Muster anwenden (kein Regex) Allgemeine Java-Themen 11
turmaline Regex gegen Regex prüfen Allgemeine Java-Themen 4
HarleyDavidson Regex - Optimierung Allgemeine Java-Themen 4
M Regex für Zahleneingabe in JavaFX Textfield Allgemeine Java-Themen 18
T Best Practice Wortregeln RegEx Allgemeine Java-Themen 11
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
H Interpreter-Fehler Regex kompiliert nicht Allgemeine Java-Themen 5
M RegEx alle Matches ausgeben Allgemeine Java-Themen 5
Iron Monkey Mit Regex nach Beträge suchen Allgemeine Java-Themen 4
T REGEX Erklaerung Allgemeine Java-Themen 14
T Nur innerhalb des regex-Match ersetzen Allgemeine Java-Themen 9
H Pic Download / Regex Problem Allgemeine Java-Themen 7
F Frage zu Regex möglich Allgemeine Java-Themen 4
M Regex... mal wieder Allgemeine Java-Themen 3
H RegEx - Ersetze alles bis Leerzeichen Allgemeine Java-Themen 5
S regex verbrät CPU Allgemeine Java-Themen 6
V Regex Bereichs Filter Allgemeine Java-Themen 4
127.0.0.1 RegEx _ und 0-9 Allgemeine Java-Themen 45
S Entfernen von allen Nicht-Buchstaben chars aus einem String ohne Regex..? Allgemeine Java-Themen 10
P Java String Regex Allgemeine Java-Themen 2
AyKay Regex XPath Allgemeine Java-Themen 4
C Regex (Case insensitive und Umlaute) Allgemeine Java-Themen 4
D Regex Raute erkennen Allgemeine Java-Themen 2
nrg Zweistelligen Zahlenbereich mit RegEx Allgemeine Java-Themen 8
GilbertGrape Regex-Problem Allgemeine Java-Themen 2
W Denkblockade RegEx Allgemeine Java-Themen 2
S eigene regEx schreiben Allgemeine Java-Themen 4
C Regex expandieren Allgemeine Java-Themen 6
C Regex Überschniedung von Ausdrücken Allgemeine Java-Themen 16
reibi RegEX - Teilstring Allgemeine Java-Themen 6
R Java-RegEx terminiert nicht Allgemeine Java-Themen 3
M Regex: Ich stehe auf dem Schlauch Allgemeine Java-Themen 2
V Kleines Regex-Problem Allgemeine Java-Themen 3
B Regex "Problem" Allgemeine Java-Themen 4
B RegEx: (Um-)formulieren eines Pattern zur Identifizierung komplexer URLs Allgemeine Java-Themen 7
P RegEx mit HTML Parser für Java möglich? Allgemeine Java-Themen 10
J Regex: Fertige URLS aus Javascript Allgemeine Java-Themen 3
N Java regex Allgemeine Java-Themen 5
K Regex JSON Allgemeine Java-Themen 3
J RegEx Ausdruck Allgemeine Java-Themen 2
J Regex: URLS aus CSS Allgemeine Java-Themen 2
G RegEx- Ausdruck Allgemeine Java-Themen 4
G RegEx kein Unterstrich Allgemeine Java-Themen 2
A Text via RegEx durchsuchen und teile ersetzten Allgemeine Java-Themen 5
C Regex: Zahl ohne führende Null Allgemeine Java-Themen 13
W RegEx Zeile parsen Medium Allgemeine Java-Themen 8
X Java String Regex - Sonderzeichen Filtern Allgemeine Java-Themen 5
S Dateiname mit Regex parsen Allgemeine Java-Themen 3
Loyd Noch ne Regex-Frage: Verschachtelte Ausdrücke Allgemeine Java-Themen 4
R Java Regex Frage Allgemeine Java-Themen 17
Daniel_L RegEx-Frage: Ersetzen in UBB ausschließen Allgemeine Java-Themen 2
M Große Datei mit Regex durchsuchen Allgemeine Java-Themen 4
S regex für einen Link Allgemeine Java-Themen 3
E Regex alles nach ? löschen Allgemeine Java-Themen 4
M RegEx-Frage Allgemeine Java-Themen 2
R Regex Tokenizer Allgemeine Java-Themen 11
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
H RegEX und eMail Allgemeine Java-Themen 4
L-ectron-X Regex zum Entfernen von mehrzeiligen Kommentaren Allgemeine Java-Themen 2
martin82 Regex - JTable - Filter Allgemeine Java-Themen 10
nrg Kleine Hilfe mit RegEx Allgemeine Java-Themen 2
B Regex-Fehler nach lib-Update Allgemeine Java-Themen 2
K Contrains oder Regex Allgemeine Java-Themen 3
J replaceAll , "[", "]" & regex Allgemeine Java-Themen 12
P RegEx und $-Zeichen als Literal Allgemeine Java-Themen 5
P RegEx - Worte ausschließen Allgemeine Java-Themen 8
S Regex - was isst denn {javaLetter} und {javaDigit}? Allgemeine Java-Themen 2
D Wie werden Regex-Gruppen kompiliert? Allgemeine Java-Themen 2
Stillmatic RegEx Matches ausgeben Allgemeine Java-Themen 10
A Regex gesucht Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben