Reguläre Ausdrücke

  • Themenstarter Ganjafarmer1906
  • Beginndatum
G

Ganjafarmer1906

Gast
Hi,
stehe kurz vor der Verzweiflung weil ich es einfach nicht schaffe einen regulären Ausdruck zu erzeugen, welcher lediglich Bedingungen wie z.B. >5 oder <=5 zulässt.

Bisher habe ich:
Java:
bedingung.getText().matches("[<>][=]|[<][>]\\d{1,}");

ich weiß da fehlen noch einige Kombinationen aber es funktioniert ja nichtmal bis hierhin. Wenn ich nur den ersten Teil nehme, also das [<>][=] matcht er wunderbar auf alle Kombinationen davon. Wenn ich jetzt aber den zweiten Teil [<][>] mit der oder-Bedingung dahinter füge, ist z.B. >=5 false, obwohl es vorher noch true war. Da die Ausdrücke ja aber mit einem oder verknüpft sind, sollten das was vorher ging doch aber dannach auch noch funktionieren.


Hoffe ich hab mich halbwegs verständlich ausgedrückt und ihr könnt mir dabei helfen.
 

Timothy Truckle

Top Contributor
Hi,
stehe kurz vor der Verzweiflung weil ich es einfach nicht schaffe einen regulären Ausdruck zu erzeugen, welcher lediglich Bedingungen wie z.B. >5 oder <=5 zulässt.
Manchmal hilft ja lesen in der API weiter, oder googeln zum Thema "Wildcards in regulären Ausdrücken". Dann wäre rausgekommen, dass es auch ohne
Code:
|
geht und für
Code:
{1,}
eine Kurzschreibweise existiert: "[<>]=?\\d+".

PS: zwischen Operator und Zahl könnten noch beliebig viele Leerzeichen und/oder Tabs stehen...

bye
TPD
 
S

SlaterB

Gast
was sollte auch [<][>] bedeuten? da müssten ja beide Zeichen kommen, ein [] mit nur einem Zeichen darin ist ganz schön fragwürdig,
zuvor hast du doch schon [<>]

desweiteren wird blind darauf verlassen, dass | genau das gewünschte tut, wie wäre es mit Klammern oder Tests?
 
G

Ganjafarmer1906

Gast
Erstmal danke für die schnelle Hilfe aber sowas ähnliches hatte ich auch schon gebaut, allerdings fehlt mir da das ungleich, also sowas wie >< oder <> oder meinetwegen /= . Deshalb bin ich ja zu dem | übergegangen weil wenn ich jetzt das / als erstes Zeichen mit erlaube, dann funktioniert auch z.B. /5 was ja keinen Sinn ergibt und wenn ich als zweites Zeichen < oder > erlaube, dann funktioniert >> oder << was ja ebenfalls quatsch ist.

@Slater: Es sollen ja auch beide Zeichen kommen, also ein <> .
 
S

SlaterB

Gast
> @Slater: Es sollen ja auch beide Zeichen kommen, also ein <> .
wozu aber die eckigen Klammern? es kann doch eh nur für <> stehten, >< wäre wiederum anders

dein Regex ist im Grunda ab|cde, du willst dass | sich auf ab und cd bezieht,
das kann aber unmöglich sein, entweder ist die Bindung so schwach, dass nur zwischen b und c unterschieden wird,
oder auch das e gehört nun zum rechten Oder-Fall, die Mittelvariante ist ausgeschlossen

wie gesagt: teste alles intensiv, setze Klammern!
 

faetzminator

Gesperrter Benutzer
Bleiglanz, hast du lieber
Java:
if (str.matches(...)) {
    messages.add(new Message("bla bla validation bla"));
}
oder
Java:
if ((str.length > 1 && (str.startsWith(">")) || ...)) || ((str.length > 2 && (...) || ...)) {
    messages.add(new Message("bla bla validation bla"));
}
;) ?

Sorry für den übermässigen Gebrauch von () :bae:
 

Bleiglanz

Gesperrter Benutzer
Nein, anstatt das mit dem ersten Zeichen wenn/dann zweites Zeichen Gewürge hätte ich gleich
Java:
Pattern.compile("^(<|>|<=|>=|=|<>){1}\\d+");
verwendet
 

faetzminator

Gesperrter Benutzer
[c]{1}[/c] ist schon mal überflüssig. Und [c]^[/c] macht IMHO gerade hier auch nur in Kombination mit [c]$[/c] Sinn, was für [c]matches()[/c] aber im Vergleich zu [c]find()[/c] überflüssig ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Namen von Methoden über Reguläre Ausdrücke bearbeiten Allgemeine Java-Themen 6
E Reguläre Ausdrücke: String-Ersetzung Allgemeine Java-Themen 0
G Reguläre Ausdrücke Allgemeine Java-Themen 2
S Reguläre Ausdrücke: Polynomterme Allgemeine Java-Themen 14
jstei001 Reguläre Ausdrücke bearbeiten/ändern Allgemeine Java-Themen 14
C reguläre Ausdrücke finden nicht was sie finden sollen Allgemeine Java-Themen 8
F Reguläre Ausdrücke und BBCode Allgemeine Java-Themen 10
J String für reguläre Ausdrücke escapen Allgemeine Java-Themen 2
C Reguläre Ausdrücke - X{0}?.* Allgemeine Java-Themen 8
C Reguläre Ausdrücke, String rückwärts durchsuchen Allgemeine Java-Themen 6
I Reguläre Ausdrücke und das "~" Symbol Allgemeine Java-Themen 2
B Reguläre ausdrücke mit variablen? Allgemeine Java-Themen 12
H Regex - Reguläre Ausdrücke Allgemeine Java-Themen 3
A Reguläre Ausdrücke vereinfachen Allgemeine Java-Themen 19
J Reguläre Ausdrücke Allgemeine Java-Themen 14
A Zufallswerte für reguläre Ausdrücke Allgemeine Java-Themen 15
G Reguläre Ausdrücke Allgemeine Java-Themen 8
R reguläre Ausdrücke Allgemeine Java-Themen 2
L Reguläre Ausdrücke und Fehlerbehandlung Allgemeine Java-Themen 10
RaoulDuke Reguläre Ausdrücke - Daten extrahieren Allgemeine Java-Themen 3
L reguläre Ausdrücke? Allgemeine Java-Themen 2
R Reguläre Ausdrücke (mehrzeilig) Allgemeine Java-Themen 2
C Reguläre Ausrücke Punkte im Satz richtig erkennen Allgemeine Java-Themen 6
E Reguläre Txt in Tree parsen Allgemeine Java-Themen 2
J Reguläre Ausrücke - Klammer nicht vorhanden Allgemeine Java-Themen 2
B kontextfreie grammatik / reguläre grammatik Allgemeine Java-Themen 2
P reguläre ausrücke und String.matches Allgemeine Java-Themen 4
S Reguläre Ausdruecke! Allgemeine Java-Themen 5
A Lambda-Ausdrücke Allgemeine Java-Themen 5
M Lambada Ausdrücke - wie funktionieren und benutzt man sie? Allgemeine Java-Themen 5
S Lambda Ausdrücke: @FunctionalInterface Instanzen auf null prüfen Allgemeine Java-Themen 9
Z Design um boolsche ausdrücke zu speichern & auszuwerten Allgemeine Java-Themen 3
R Logische Ausdrücke in Java Allgemeine Java-Themen 4
Loyd Noch ne Regex-Frage: Verschachtelte Ausdrücke Allgemeine Java-Themen 4
H Geklammerte Ausdrücke nach Divide&Conquer Allgemeine Java-Themen 2
B Parser für logische Ausdrücke Allgemeine Java-Themen 9
J Expression Language für mathematische Ausdrücke Allgemeine Java-Themen 8
B Regeuläre Ausdrücke Allgemeine Java-Themen 8
G arithmetische ausdrücke Allgemeine Java-Themen 5
M Regular Expression - verschiedene Ausdrücke testen (grep | ) Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben