Gierigen Regex in nicht-gierigen umwandeln

N

NicoRyl

Mitglied
Hallo zusammen.

Da es für Regex hier keine Sparte gibt, dachte ich mir ich schreibe mal hier rein.
Ich möchte meinen regulären Ausdruck gerne in einen 'nicht-gierigen' Regex umwandeln. Bis jetzt ist er noch sehr gierig und braucht sehr lange pro Operation.
Weiß jemand, wie man das macht? Vielen Dank schonmal im Voraus!

Code:
^SELECT\s+(\*??[A-Za-z0-9,\s]*?)\s+FROM\s+[A-Za-z0-9]+(\s+WHERE\s+([A-Za-z0-9])+\s+([=<>]|LIKE)\s['][A-Za-z0-9\s]+['])??;$
 
Held21

Held21

Mitglied
Ich setze mich damit derzeit auch auseinander und möchte mal einen Pin setzen, um die Antwort nicht zu verpassen.
Liebe Grüße
 
Oneixee5

Oneixee5

Bekanntes Mitglied
Reguläre Ausdrücke in Java werden in eine interne Datenstruktur kompiliert. Diese Kompilierung ist der zeitaufwändige Prozess. Zur Optimierung ist es möglich, zuerst das Muster zu kompilieren und immer wieder zu verwenden. Eine weiter Optimierung ist die Verwendung der gleichen Matcher-Instanz mit ihrer reset()-Methode. Aufgrund der Tatsache, dass Matcher nicht thread-sicher ist, muss man mit der Verwendung dieser Variante vorsichtig sein. Sie könnte in Multi-Thread-Szenarien gefährlich sein.
 
B

Barista

Top Contributor
Nur mal so geschwafelt:

Gierig heisst, das der reguläre Ausdruck alles bis zum Ende erkennt, dann aber wieder erkannte Teile zurück gibt, damit die weiter rechts stehenden Pattern eventuell auch passen.

Da würde ich denken, dass man dem gierigen Teil damit hilft, dass man Treffer für den Folgeteil ausschliesst.

Die Feldliste (Projektion) ist beispielsweise mit Kommas getrennt. Also eigentlich 'Leerzeichen*,Leerzeichen*'.

Dagegen ist FROM von der Feldliste nur mit Leerzeichen getrennt. Also darf kein Leerzeichenbereich ohne Komma auftauchen.

Wenn man alle in Frage kommenden Feldnamen der Feldliste kennt und diese als ODER-Pattern (ich nehme an, jeweils in Klammern und dann noch irgendwie ver-odert), dann hält die Erkennung der Feldliste beim Auftauchen des FROM an.

Wie gesagt, nur so geschwafelt um im Gespräch zu bleiben.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
N E-Mail Validator (ohne Regex!) Allgemeine Java-Themen 7
NicoDeluxe 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
M 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
N 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
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
DStrohma [Erledigt] Regex CASE INSENSITIVE Allgemeine Java-Themen 7
T RegEx, wieder einmal ... :-( Allgemeine Java-Themen 19
MQue RegEx Allgemeine Java-Themen 2
F Regex für (+ 2 3) Allgemeine Java-Themen 19
MQue regex Allgemeine Java-Themen 4
M String in numerisch und alphanumerisch trennen mit regex? Allgemeine Java-Themen 2
M id aus HTML (Regex) Allgemeine Java-Themen 7
B benötige regex hilfe Allgemeine Java-Themen 4
faetzminator Regex zur Suche von "value-losen" Attributen in HTML Tags Allgemeine Java-Themen 7

Ähnliche Java Themen


Oben