Regex (Case insensitive und Umlaute)

C

Camino

Gast
Hallo,

ich hab eine JTable mit RowFilter, welche mir die Daten von den Eingaben in einem Textfeld über einen DocumentListener filtert. Der Regex für den RowFilter sieht so aus:
Code:
"^(?i)" + tf1
tf1 ist der String aus Textfeld1. Wenn ich das richtig verstanden habe, bedeutet dies, dass ^ für Stringanfang steht, (i) für case insensitive und ? für kein oder einmal vorkommend. Hat bisher auch ganz prima so funktioniert. Nur wenn ich jetzt in der Tabelle einen String habe, der mit einem Umlaut anfängt (z.B. Ö), dann wird dies nicht mit einem ö im Textfeld gefunden. Erst wenn ich im Textfeld das Ö (Grossbuchstabe) eintippe, erscheint auch die gefilterte Zeile in der Tabelle.

1.) Weiss jemand, woran das liegt und wie man das hinkriegen kann, dass auch Umlaute, egal ob Gross- oder Kleinschreibung, gefunden und gefiltert werden?

2.) Die Daten in der Tabelle sind Namen und kommen aus einer Datenbank. Von dort kommen sie alphabetisch sortiert in eine Liste und dann sind Umlaute in den Buchstaben einsortiert, also steht dort z.B. Oberdorf, Odenthal, Öttinger, Overath... Ich überlege gerade ob es sinnvoll ist, wenn man dieses Ergebnis beim Filtern auch genau so erhält, egal ob man als Anfangsbuchstabe ö/Ö oder o/O eingibt. Also der Name Öttinger sollte sowohl bei ö/Ö als auch bei o/O mit in die gefilterte Auswahl kommen. Wie wäre so etwas denn möglich?
 

turtle

Top Contributor
Ich habe gerade mit dem RegExp Plugin in Eclipse probiert und es scheint mir, dass keine perfekte Lösung, die in allen Locales klappt, existiert.

Ich habe folgenden regulären Ausdruck
HTML:
	(^[öÖäÄüÜßa-zA-Z]*$)
Dieser matcht Oberdorf, Odenthal, Öttinger, Overath, also alle Zeichenketten (beliebiger Länge) von Anfang bis Ende, die Gross/Kleinbuchstaben und Umlaute in Gross/Klein enthalten.
 
C

Camino

Gast
Hey, danke für den Tipp. Vielleicht werde ich das dann so umsetzen. Mich wundert halt schon, dass es mit der bisherigen Version bei allen bis auf die Umlaute funktioniert. Wahrscheinlich funktioniert es dann auch nicht bei Namen mit solchen Buchstaben wie é, è, ê oder anderen. Gibt es da nicht eine bessere Möglichkeit, oder muss ich alle diese Zeichen aufführen?
 

turtle

Top Contributor
Das habe ich nicht geprüft, aber glaube, dass das sehr von der Umgebung in der eine Locale gesetzt wird, abhängig sein dürfte.

Reguläre Ausdrücke gibt es halt schon sehr lange und ist sehr auf ASCII konzentriert. Darin gibt es halt Umlaute und Ähnliches nicht so ohne Weiteres

Ich würde alle Zeichen aufnehmen, müsste mit einer Query auf der DB schnell gemacht sein
 
Zuletzt bearbeitet:
C

Camino

Gast
Ich würde alle Zeichen aufnehmen, müsste mit einer Query auf der DB schnell gemacht sein

Du meinst, alle vorhandenen Zeichen aus der DB auslesen und dort einbauen? Hmm, ich weiss ja nicht...

Aber wahrscheinlich komm ich nicht drum herum, mir selber eine Funktion zu bauen. Weil ich würde ja auch gerne z.B. die Namen mit é, è und ê angezeigt bekommen, wenn ich nur ein e eingebe. Oder irgendwelche anderen Sonderbuchstaben, die in Namen vorkommen könnten. Ich weiss aber leider noch nicht, wie ich das umsetzen könnte. Hast du einen Ansatz oder eine Idee dafür?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T regex case insensitive trimmed Allgemeine Java-Themen 6
DStrohma [Erledigt] Regex CASE INSENSITIVE Allgemeine Java-Themen 7
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
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
Y regex | n-faches Vorkommen oder gar keins Allgemeine Java-Themen 6
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
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

Ähnliche Java Themen

Neue Themen


Oben