RegEx Hilfe

Fohnbit

Top Contributor
Hallo!

Ich müsste in einem Text alle Zahlen finden, wo
  • davor keine Zahl steht
  • mit 22,23,24,25 oder 26 beginnen
  • 9 Zahlen lang ist
  • und danach keine Zahl steht

Soweit habe ich es:
Java:
(2(2|3|4|5|6)\d{7})\b

Nur wie erkennen, das davor keine Zahl stehen darf?

Danke!
 

KonradN

Super-Moderator
Mitarbeiter
Ich bin mir jetzt nicht sicher, was Du da genau willst.

Wenn es ein Wort sein muss, dann wäre es evtl. ein einfaches \b davor.

Wenn da aber auch noch alles andere sein darf - nur eben keine Ziffer - dann kann man da noch ein [^0-9]* nutzen.

Aber das bedeutet, dass Du bei 234567890 davor ein abc haben darfst, aber kein a2c. Wenn Du auch ein a2c erlauben wolltest, dann wäre es evtl. etwas wie ein \b(|.*[^0-9])2[23456]\d{7}\b

Hinweise:
  • Die (2|3|...) habe ich einfach zu [23456] gemacht.
  • Die Klammer um die Zahl habe ich weg genommen. Wenn Du da eine Capturing Group haben willst, dann würde ich die immer benennen. Dann kannst Du da per Name drauf zugreifen. Sonst kommt da eine Klammer hinzu wie bei mir und schon bekommst Du ein anderes Ergebnis nur weil der RegEx aktualisiert wurde.
 

Fohnbit

Top Contributor
Danke, klappt so leider nicht.

Anbei ein Beispiel:
"amountSender":null,"balance":null,"reference":"/DOC/VK230048131/859.95/20230511","referenceNumber":"20815306072AEI-VK3230048131"

Er soll 230048131 finden. Also ausschließlich Zahlen die 9 Zahlen lang sind ... aber nicht dies:
"amountSender":null,"balance":null,"reference":"/DOC/VK1230048131/859.95/20230511","referenceNumber":"20815306072AEI-VK3230048131"
denn da ist eine Zahl davor: "1"

Auch soll keine Zahl dahinter sein:
"amountSender":null,"balance":null,"reference":"/DOC/VK2300481311/859.95/20230511","referenceNumber":"20815306072AEI-VK3230048131"
 

KonradN

Super-Moderator
Mitarbeiter
Das sieht jetzt erst einmal danach aus, dass du JSON per RegEX parsen willst. Das ist in der Regel eine schlechte Idee.

Aber der RegEx funktioniert bei mir:

Beim ersten hat er die Zahl richtig gefunden (Der ganze Ausdruck matcht natürlich noch etwas mehr, aber die CaptureGroup ist in orange gut zu erkennen.
Im zweiten Datensatz hat er dann keinen Treffer.
Ich habe den ersten Datensatz noch einmal kopiert, damit man dann wirklich sieht, dass er da mehrere Treffer unterstützt.
1689165099901.png
 

Fohnbit

Top Contributor
Hallo!

Das JSON wird natürlich zuerst korrekt geladen und dann die einzelnen Felder geprüft.

Dein regex findet eben in Group 1 den Text davor. Das soll ja nicht als Treffer ausgewertet werden. Oder verstehe ich das nun falsch?

Ich benötige nur die 9 Zahlen, keinen Text.

Dank dir für die Hilfe
 

KonradN

Super-Moderator
Mitarbeiter
Du sollst auch nicht einfach group 1 nehmen. Im Bildschirmfoto siehst Du, dass die Zahl in Group 2 ist (nach hinzufügen der capturing group um die Zahl).

Und daher auch der Hinweis: Capturing Groups sollten immer benannt werden - dann kann es weitere Gruppen geben ohne, dass es zu Problemen kommt.

Das wäre dann z.B. so: \b(|.*[^0-9])(?<zahl>2[23456]\d{7})\b

Und dann sieht es auf der Seite oben so aus:

Und schau Dir die Links an - da ist der RegEx mit dem Beispiel mit gespeichert!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
F Regex Hilfe Java Basics - Anfänger-Themen 3
B Hilfe bei Regex - Erstellung Java Basics - Anfänger-Themen 5
F Regex Hilfe Java Basics - Anfänger-Themen 14
F RegEX Hilfe Java Basics - Anfänger-Themen 8
A Hilfe mit RegEx Java Basics - Anfänger-Themen 8
G RegEx Hilfe Java Basics - Anfänger-Themen 5
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
B Regex Order unwichtig bei Lookaheads? Java Basics - Anfänger-Themen 7
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
W RegEx Java Basics - Anfänger-Themen 4
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
A Zusammengesetzte Nomen/Straßennamen mit Regex-Ausdrücken trennen Java Basics - Anfänger-Themen 8
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
H Java Regex Aufzählung kontrollieren Java Basics - Anfänger-Themen 3
Nooobi Regex und .matches() geben keine Ausnahme Java Basics - Anfänger-Themen 10
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
K Wie verneine ich einen Regex? Java Basics - Anfänger-Themen 2
Dimax RegEx Java Basics - Anfänger-Themen 10
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
O Regex bei ReplaceAll ersetzt Wort und Sonderzeichen nicht. Java Basics - Anfänger-Themen 9
O Text mit Regex trennen und wieder zusammenbauen Java Basics - Anfänger-Themen 5
L Regex issue Java Basics - Anfänger-Themen 4
B Regex Kombination benötigt Java Basics - Anfänger-Themen 5
strohkolben Regex Java Basics - Anfänger-Themen 3
OnDemand Regex oder Split? Java Basics - Anfänger-Themen 5
I String.split regex Frage Java Basics - Anfänger-Themen 2
C RegEx Problem Java Basics - Anfänger-Themen 4
Dimax RegEx funktionieren nicht Java Basics - Anfänger-Themen 7
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
K substitute mit regex Java Basics - Anfänger-Themen 10
G RegEx Java Basics - Anfänger-Themen 11
M Regex Erstellung Problem Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
M Regex zum Integer.parseInt Java Basics - Anfänger-Themen 4
G Regex Java Basics - Anfänger-Themen 4
M Regex-Ausdruck: Alle Zeichen bis auf ein bestimmtes erlauben (p{L}) Java Basics - Anfänger-Themen 5
M Regex anpassen Java Basics - Anfänger-Themen 19
C Regex-Problem Java Basics - Anfänger-Themen 4
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
F RegEx für Email Java Basics - Anfänger-Themen 2
F RegEx "+" nur als Zeichen, nicht als Operator oder Sonstiges Java Basics - Anfänger-Themen 2
FelixN RegEx aus einem String als String-Array zurückgeben Java Basics - Anfänger-Themen 8
FelixN RegEx Erläuterung "ˆ[ˆa-zA-Z]+$" Java Basics - Anfänger-Themen 6
I Regex findet keine Treffer Java Basics - Anfänger-Themen 4
C Regex Java Basics - Anfänger-Themen 2
C Probleme bei Regex Java Basics - Anfänger-Themen 9
B Regex ignorieren von Groß - Kleinschreibung Java Basics - Anfänger-Themen 1
F Regex für Inlineformatierungen Java Basics - Anfänger-Themen 12
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
O Regex Java Basics - Anfänger-Themen 2
F Switch Case Problem mit Regex lösen? Java Basics - Anfänger-Themen 6
H regex-Problem Java Basics - Anfänger-Themen 2
F Ist das ein korrekter Regex-Ausdruck? Java Basics - Anfänger-Themen 12
M Zahlenbereich mit RegEx Java Basics - Anfänger-Themen 3
D regex Aufbau Frage Java Basics - Anfänger-Themen 4
W RegEx Matcher + Pattern und Emails Java Basics - Anfänger-Themen 8
R Rechenzeichen als regex Java Basics - Anfänger-Themen 10
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
C Erste Schritte Regex - Datei einlesen und splitten Java Basics - Anfänger-Themen 4
F RegEx Problem Java Basics - Anfänger-Themen 8
G String nach Contains/Regex Java Basics - Anfänger-Themen 2
U RegEx alle Kommas bei den Zahlen in Punkt umwandeln Java Basics - Anfänger-Themen 3
K RegEx - Multiple Line Java Basics - Anfänger-Themen 3
S Regex Pattern Java Basics - Anfänger-Themen 3
K Regex: illegal character range Java Basics - Anfänger-Themen 4
U Regex für kommaseparierte Zahlen Java Basics - Anfänger-Themen 1
K Operatoren Regex für 10er Zahlen Java Basics - Anfänger-Themen 8
V Java Regex richtig parsen Java Basics - Anfänger-Themen 2
E Brauche eine Antwort zum Thema RegEx ( Alternative zur Lösung auch gesucht ) Java Basics - Anfänger-Themen 5
N mein RegEx Java Basics - Anfänger-Themen 2
C Lösung für RegEx in Java gesucht Java Basics - Anfänger-Themen 2
B Java - Reguläre Ausdrücke - RegEx oder Regular Expressions - Eckige Klammern Java Basics - Anfänger-Themen 2
M Regex/matcher Java Basics - Anfänger-Themen 2
T Methoden String.matches() - Regex Java Basics - Anfänger-Themen 2
truesoul Regex für www Java Basics - Anfänger-Themen 0
N Methoden Straßennamen und Hausnummer - RegEx Java Basics - Anfänger-Themen 19
W Erste Schritte Regex negieren Java Basics - Anfänger-Themen 3
W String match mit Wildcard ODER Regex Java Basics - Anfänger-Themen 1
E useDelimiter-Anwednung / Regex Java Basics - Anfänger-Themen 2
C java regex Java Basics - Anfänger-Themen 2
C Regex zum matchen ausserhalb von Tags Java Basics - Anfänger-Themen 3
O Regex zwischenspeichern Java Basics - Anfänger-Themen 6
O Regex Java Basics - Anfänger-Themen 5
R Einfacher Regex Java Basics - Anfänger-Themen 3
V RegEx Java Basics - Anfänger-Themen 15
HoloYoitsu Datentypen replaceAll() mit regex? Java Basics - Anfänger-Themen 5
G regex Verständnis Problem Java Basics - Anfänger-Themen 3
G verwendung von regex Java Basics - Anfänger-Themen 3
X Regex splitten Java Basics - Anfänger-Themen 5
T Regex Problem Java Basics - Anfänger-Themen 4
B String nach regex überprüfen Java Basics - Anfänger-Themen 6
J Regex Ausdrücke im Array - Wieso werden sie nicht erkannt? Java Basics - Anfänger-Themen 4
N Regex Java Basics - Anfänger-Themen 4
F String.replaceAll() funktioniert nicht richtig oder habe ich den falschen Regex?? Java Basics - Anfänger-Themen 3
J Regex mit Return Java Basics - Anfänger-Themen 3
I Rechenoperatoren mit Regex splitten Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben