regulärer ausdruck

Status
Nicht offen für weitere Antworten.

BLiNK

Mitglied
Hallo,
gibt's denn bei den regulären Ausdrücken in Jave keine Negation? Also so, dass cih sagen kann dieser String soll nicht vorkommen?

Ich möchte nämlich einen Text mehrmals durchlaufen und zu bestimmten Worten etwas hinzufügen. Die Worte bleiben dabei unverändert im Text. Beim nächsten Durchlauf soll dann aber nicht nochmal zum selben Wort hinzugefügt werden.

Ciao!
 
R

Roar

Gast
hmm das geht mit den character classes: [^aeiou] sagt, dass an dieser stele kein vokal vorkomme ndarf.
ansonsten werd mal was konkreter, vielleicht gibts ne andere möglichkeit.
 
G

Guest

Gast
Versuche es mit \b (word boundary)
Wenn Du den gefundenen Ausdruck um etwas erwiterst, dann ergibt dies ein anderes "wort"
und wird nicht mehr erkannt.
 

BLiNK

Mitglied
Hmm, das bringt mir nix, hilft ja nur bei einzelnen Buchstaben.

Also, ich versuch das mal zu verdeutlichen. Hier ist erstmal eine Zeichenkette:

ab abc abcd ab

So, nun möchte ich die alle Zeichenketten "ab" durch "done ab" ersetzen. Sieht dann also so aus:

done ab abc abcd done ab

Das klappt ja ohne Probleme. Wenn ich allerdings nochmal "ab" durch "done ab" ersetze sieht der Text natürlich so aus:

done done ab abc abcd done done ab

Deshalb möchte ich nur die "ab" ersetzn vor denen kein done steht

Das Ganze ist bißchen komplexer, aber eben in dieser Art.

Würde mir wirklich sehr helfen, wenn da jemand ein Tipp für mich hätte...
 
G

Guest

Gast
Hänge vor die ersetzten Strings irgendein Sonderzeichen.
z.B.
"ab abc abcd ab"
wird zu
"done #ab abc abcd done #ab"

Beim nächsten Durchlauf wird's ignoriert, da ein # davor steht.
Zum Schluß entfernst Du die Sonderzeichen.
 

BLiNK

Mitglied
Nee, funktioniert leider nicht. Der Text soll nämlich in der Zwischenzeit angezeigt und verändert werden. Der Ersetzungsprozesse finden ja nicht direkt hintereinander statt - wäre ja auch Unsinn. Aber danke für den Vorschlag.

Noch jemand ne Idee? Ich glaube so langsam, dass ich mit einem RE nicht zum Ziel kommen werde...
 
G

Guest

Gast
Es gibt bei Patterns noch "Special constructs (non-capturing)" (siehe java.util.regex.Pattern)
Vielleicht läßt es sich damit ausschließen.

(done )(?idmsux-idmsux:X)(ab)(?<!X)

(ab) unter der Bedingung, dass kein (done ) davor stand (look-behind)
 

BLiNK

Mitglied
Die Idee war echt gut, aber leider kann man beim Look Behind nicht alle gewünschten regulären Ausdrücke verwenden, da ist meiner zu kompliziert. Schade.
 
G

Guest

Gast
Sorry, ich kann nicht Gedanken lesen. Ich vermute, Du ersetzt irgendwelche Textbausteine,
die dann auch Text enthalten, der fälchlicherweise wieder als Textbaustein interpretiert werden
kann.
Wenn es mit den genannten Patterns nicht geht, dann ist es mit Regex überhaupt nicht lösbar.
Für diesen Fall müsstest Du ein eigenes Dokumentmodell erstellen, bei dem Du unterscheiden
kannst, was generiert und was vom Anwender eingetipt wurde.
 
G

Guest

Gast
Na ich hatte mich doch nicht beschwert. Hätte ja sein können, dass es eine einfache Negation gibt, dann wäre die Sache in Sekunden gelöst gewesen.

Naja, schade, aber ich werd's wohl jetzt er bißchen in die Ecke werfen bis ich vl einen guten Einfall habe es doch noch irgendwie zu lösen.

Ciao, und danke für die Hilfe!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O regulärer Ausdruck zum durchsuchen eines Strings verwenden Allgemeine Java-Themen 2
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
W Regulärer Ausdruck für 0 oder mehr Blanks Allgemeine Java-Themen 8
M Regulärer Ausdruck Allgemeine Java-Themen 3
R Regulärer Ausdruck Allgemeine Java-Themen 5
G Regulärer Ausdruck für 2 Wörter Allgemeine Java-Themen 3
P JFormattedTextField für durch Semikolon getrennte Integer-Werte gesucht / Regulärer Ausdruck Allgemeine Java-Themen 3
H Problem mit der Klasse Pattern - Regulärer Ausdruck Allgemeine Java-Themen 2
S Regulärer Ausdruck tut überhaupt nichts Allgemeine Java-Themen 2
M Regulärer Ausdruck Allgemeine Java-Themen 6
Iron Monkey Regulärer Ausdruck Allgemeine Java-Themen 2
T Regulärer Ausdruck Allgemeine Java-Themen 6
S Regulärer Ausdruck für HTML-Tag Allgemeine Java-Themen 18
P [Regulärer Ausdruck] Auf Gruppe mit Quantifier separat zugreifen? Allgemeine Java-Themen 2
J Regulärer Ausdruck - Der Punkt und der Zeilenumbruch Allgemeine Java-Themen 6
Iron Monkey Regulärer Ausdruck Allgemeine Java-Themen 6
A Regulärer Ausdruck für die Uhrzeit Allgemeine Java-Themen 3
G Regulärer Ausdruck Allgemeine Java-Themen 4
M Regulärer Ausdruck Allgemeine Java-Themen 3
P Regulärer Ausdruck um sich wiederholende Zeichen zu finden. Allgemeine Java-Themen 9
M Regulärer Ausdruck mit [ und ] Allgemeine Java-Themen 9
P Problem - Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 5
J Regulärer Ausdruck Allgemeine Java-Themen 3
N Regulärer Ausdruck Allgemeine Java-Themen 2
M Regulärer Ausdruck Allgemeine Java-Themen 2
T Einfacher regulärer Ausdruck Allgemeine Java-Themen 2
A Regulärer Ausdruck EMail-Prüfung Allgemeine Java-Themen 3
N Regulärer Ausdruck Allgemeine Java-Themen 2
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
G JavaFX var Ausdruck Allgemeine Java-Themen 1
S Hex Ausdruck kürzen Allgemeine Java-Themen 34
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
L Erste Schritte Ausdruck schöner schreiben? Allgemeine Java-Themen 8
J Frage zu regulärem Ausdruck Allgemeine Java-Themen 2
H Reg Exp Ausdruck erweitern Allgemeine Java-Themen 2
A Bestimmte Sonderzeichen im Regulären Ausdruck Allgemeine Java-Themen 2
B Problem mit Regulärem Ausdruck Allgemeine Java-Themen 4
J RegEx Ausdruck Allgemeine Java-Themen 2
G RegEx- Ausdruck Allgemeine Java-Themen 4
L String Replace mit Regulärem Ausdruck Allgemeine Java-Themen 2
O Text mit Wildcard gegen regulären Ausdruck prüfen Allgemeine Java-Themen 3
T Ausdruck mit pdfBox macht Probleme Allgemeine Java-Themen 2
M Ausgabe in Datei zum Ausdruck Allgemeine Java-Themen 2
F Problem mit regulären Ausdruck in Zusammenhang mit HTML Allgemeine Java-Themen 8
X String zerlegen mittels regulärem Ausdruck Allgemeine Java-Themen 31
M Wertepaar in relulärem Ausdruck Allgemeine Java-Themen 15
A Regulären Ausdruck für Funktionsnamen Allgemeine Java-Themen 4
M Regulären Ausdruck negieren Allgemeine Java-Themen 6
G Frage zu Regulärem Ausdruck Allgemeine Java-Themen 2
S regex-Pattern Ausdruck negieren Allgemeine Java-Themen 2
L Passwort mit Regulärem Ausdruck prüfen Allgemeine Java-Themen 6
I Composite Pattern für Ausgabe von Ausdruck Allgemeine Java-Themen 3
X problem mit regulären ausdruck Allgemeine Java-Themen 3
F Problem mit regulärem Ausdruck Allgemeine Java-Themen 6
M backreference im regulären ausdruck Allgemeine Java-Themen 9
A Probleme Umwandlung Ausdruck String in double Allgemeine Java-Themen 4
P Dateinamen mit regulärem Ausdruck testen Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben