Reguläre Ausdruecke!

Status
Nicht offen für weitere Antworten.

schlaubie

Bekanntes Mitglied
Hallo Leute ich möchte alle Zeichen die zwischen einem Wort und der ersten öffnenden Klammer stehen auslesen!

Bsp: insert into emp (empno,ename)values....

Dann möchte ich den Tabellennamen haben allso emp!

Nur leider funktioniert das Kaskadieren der öffnenden Klammer nicht!
Ich habe es auch schon mit \u0028 probiert aber dann sagt er auch das er einen Schließende Klammer vermisst!
HELP

Besten Dank im Vorraus
 

MPW

Top Contributor
schlaubie hat gesagt.:
Hallo Leute ich möchte alle Zeichen die zwischen einem Wort und der ersten öffnenden Klammer stehen auslesen!

Bsp: insert into emp (empno,ename)values....

Dann möchte ich den Tabellennamen haben allso emp!

Also wenn ich das jetzt mal richtig kapiert hab, ist das da oben ein String, der deinem Programm jetzt bereits vorliegt?

Dann sollte das per Parsen funktionieren...

Code:
String s = "insert into emp (empno,ename)values....";
String s2[] = s.split(" ");
Vector<String> words = new Vector<String>(0, 1);
for (int i = 1; i<s2.length; i++) { //Mit eins anfangen, da das erste Wort ja nicht gebraucht wird
	if (s2[i].indexOf("(")) == -1) {
		words.add(s2[i];
	} else {
        break;
    }
}
String woerter = words.toArray();

//da emp ja ein Eintrag vor der Klammer steht, brauchst du nur den
//letzten Eintrag aus dem Array zu nehmen, und hast deinen "Tabellennamen"

String tabellenname = woerter[length-1];

//Code nicht getestet, aber so in der Art sollte es klappt, denke ich...

MfG
MPW
 

byte

Top Contributor
Warum so kompliziert? Einfacher gehts so:

Code:
String foo = "insert into emp (empno,ename)values";
String bar = "into";
String result = foo.substring(foo.indexOf(bar)+bar.length(), foo.indexOf("(")).replaceAll(" ", "");

Oder halt mit Regex. :roll:
 
R

Roar

Gast
als java string: "\\s([^\\s]*?)\\s\\("
liefert "emp" in der 1. group
sinnvoller wäre aber denke ich einfach zu gucken was nach "insert into" kommt? wär dann: "(?<=insert into )[^\\s]*"
 

schlaubie

Bekanntes Mitglied
OK Dank hier mal meine Lösung mit Regex
String pattern = "(.*)"+"(into)" + "(.*)"+"("+"\\("+")"+"(.*)";

Ergebniss dann in 3 Gruppe
 
Status
Nicht offen für weitere Antworten.
Ä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 11
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
C Reguläre Ausrücke Punkte im Satz richtig erkennen Allgemeine Java-Themen 6
F Reguläre Ausdrücke und BBCode Allgemeine Java-Themen 10
E Reguläre Txt in Tree parsen Allgemeine Java-Themen 2
J Reguläre Ausrücke - Klammer nicht vorhanden Allgemeine Java-Themen 2
J String für reguläre Ausdrücke escapen Allgemeine Java-Themen 2
B kontextfreie grammatik / reguläre grammatik 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
P reguläre ausrücke und String.matches Allgemeine Java-Themen 4
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

Ähnliche Java Themen

Neue Themen


Oben