Regex String splitten

CHAOSFISCH

Bekanntes Mitglied
Servus,

ich muss Daten aus einem textarea splitten:

Regex: (\b[^\s]+\b)|("[^"]+")
Input: Tag1 Tag2 Tag3 "Tag 4" Tag 5

Zu erwartendes Ergebnis:
Code:
Array
{
[0] => Tag1
[1] => Tag2
[2] => Tag3
[3] => Tag 4
[4] => Tag
[5] => 5
}

Code:
Code:
String[] gesplittet = textarea.getText().split(regex);

Tatsächliches Ergebnis:
-

Kann mir da jemand bitte helfen?
 
S

SlaterB

Gast
die split-Methode verschluckt die Split-Elemente, also quasi alles bei dir,
du könntest nur nach Leerzeichen splitten, das wäre einigermaßen etwas,
anderenfalls normalen Matcher, Schleife mit find() und group()

bei Hierarchie mit Anführungszeichen oder Klammern bei mathematischen Ausdrücken wird RegEx aber in jeden Fall schlecht,
in diesem Fall mag dein Ausdruck noch gehen, wenn du aber "Tag 4 5" hast, dann ist darin 'Leerzeichen 4 Leerzeichen' enthalten, worauf auch der erste RegEx-Teil anspringen könnte

dann doch besser Fachbegriff Parser
 

CHAOSFISCH

Bekanntes Mitglied
Wenn ich dich richtig verstanden habe:
Ich soll kein Regex benutzten und dann irgendwie nen Parser.
Bei Regex hätte ich das hier machen sollen:
Code:
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(textareaText);
        if (m.find()) {
            System.out.println(regex + " matches \"" + m.group(0) + "\" in \""
                    + textareaText + "\"");
        } else {
            System.out.println("NO MATCH");
        }

Wobei ich mit m.group(x) die Element abfragen kann!?

Das klappt nicht.

Und was ich mit nem Parser soll versteh ich auch nicht. Google ist da echt heute keine Hilfe.
 
S

SlaterB

Gast
> Das klappt nicht.
doch,
natürlich liefert das erste find() nur eine erste Gruppe, in Rückgabewert String kann auch kaum ein ganzes Array stecken,
mann mus schon ein wenig die Funktionen kennenlernen,

Java:
public class Test
{
    public static void main(String[] args)
    {
        String textareaText = "Tag1 Tag2 Tag3 \"Tag 4\" Tag 5";

        String regex = "(\\b[^\\s]+\\b)|(\"[^\"]+\")";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(textareaText);
        if (m.find())
        {
            System.out.println(regex + " matches \"" + m.group(0) + "\" in \"" + textareaText + "\"");
        }
        else
        {
            System.out.println("NO MATCH");
        }
    }
}
Code:
(\b[^\s]+\b)|("[^"]+") matches "Tag1" in "Tag1 Tag2 Tag3 "Tag 4" Tag 5"

-----

beim Parser wird ja wohl wenigstens der Wiki-Artikel zur Idee an sich zu finden sein,
wobei es zig Umsetzungen gibt, dieser RegEx hier ist auch eine Parser-Möglichkeit

ohne es genau zu sagen tendierte ich zu den Varianten von
'String Zeichen für Zeichen durchgehen, je nach Vorinformation (ist gerade ein "-Block geöffnet?) und aktuellen Informationen (ist das aktuelle Zeichen ein Leerzeichen?) richtig weiterarbeiten'
 
T

thorstennn

Gast
probier mal
Java:
"(Tag\\d+)|(\"[^\"]+\")|\\d+"

liefert bei mir die richtige Ausgabe
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
I String.split regex Frage Java Basics - Anfänger-Themen 2
FelixN RegEx aus einem String als String-Array zurückgeben Java Basics - Anfänger-Themen 8
G String nach Contains/Regex Java Basics - Anfänger-Themen 2
T Methoden String.matches() - Regex Java Basics - Anfänger-Themen 2
W String match mit Wildcard ODER Regex Java Basics - Anfänger-Themen 1
B String nach regex überprüfen Java Basics - Anfänger-Themen 6
F String.replaceAll() funktioniert nicht richtig oder habe ich den falschen Regex?? Java Basics - Anfänger-Themen 3
A String mittels RegEx filtern Java Basics - Anfänger-Themen 13
E string.match[regex] - Help ! Java Basics - Anfänger-Themen 2
K Datentypen Bestimmten Part aus String kopieren mit RegEx Java Basics - Anfänger-Themen 4
StrikeTom Per regex string zwischen klammern raussuchen Java Basics - Anfänger-Themen 14
K regex mit utf-8 string Java Basics - Anfänger-Themen 2
B String ordentlich trennen (regex, split())? Java Basics - Anfänger-Themen 11
S string replaceAll regex Java Basics - Anfänger-Themen 2
M RegEx: im String entfernen Java Basics - Anfänger-Themen 3
K Prob mit java.util.regex.matches-String wird nicht erkannt? Java Basics - Anfänger-Themen 9
G REGEX - * durch String ersetzen Java Basics - Anfänger-Themen 3
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
B Regex Order unwichtig bei Lookaheads? Java Basics - Anfänger-Themen 7
F RegEx Hilfe Java Basics - Anfänger-Themen 5
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
W RegEx Java Basics - Anfänger-Themen 4
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
A Zusammengesetzte Nomen/Straßennamen mit Regex-Ausdrücken trennen Java Basics - Anfänger-Themen 8
H Java Regex Aufzählung kontrollieren Java Basics - Anfänger-Themen 3
Nooobi Regex und .matches() geben keine Ausnahme Java Basics - Anfänger-Themen 10
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
K Wie verneine ich einen Regex? Java Basics - Anfänger-Themen 2
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
Dimax RegEx Java Basics - Anfänger-Themen 10
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
O Regex bei ReplaceAll ersetzt Wort und Sonderzeichen nicht. Java Basics - Anfänger-Themen 9
O Text mit Regex trennen und wieder zusammenbauen Java Basics - Anfänger-Themen 5
L Regex issue Java Basics - Anfänger-Themen 4
B Regex Kombination benötigt Java Basics - Anfänger-Themen 5
strohkolben Regex Java Basics - Anfänger-Themen 3
OnDemand Regex oder Split? Java Basics - Anfänger-Themen 5
C RegEx Problem Java Basics - Anfänger-Themen 4
Dimax RegEx funktionieren nicht Java Basics - Anfänger-Themen 7
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
K substitute mit regex Java Basics - Anfänger-Themen 10
G RegEx Java Basics - Anfänger-Themen 11
M Regex Erstellung Problem Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
M Regex zum Integer.parseInt Java Basics - Anfänger-Themen 4
G Regex Java Basics - Anfänger-Themen 4
M Regex-Ausdruck: Alle Zeichen bis auf ein bestimmtes erlauben (p{L}) Java Basics - Anfänger-Themen 5
M Regex anpassen Java Basics - Anfänger-Themen 19
C Regex-Problem Java Basics - Anfänger-Themen 4
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
F RegEx für Email Java Basics - Anfänger-Themen 2
F RegEx "+" nur als Zeichen, nicht als Operator oder Sonstiges Java Basics - Anfänger-Themen 2
FelixN RegEx Erläuterung "ˆ[ˆa-zA-Z]+$" Java Basics - Anfänger-Themen 6
F Regex Hilfe Java Basics - Anfänger-Themen 3
I Regex findet keine Treffer Java Basics - Anfänger-Themen 4
C Regex Java Basics - Anfänger-Themen 2
C Probleme bei Regex Java Basics - Anfänger-Themen 9
B Regex ignorieren von Groß - Kleinschreibung Java Basics - Anfänger-Themen 1
F Regex für Inlineformatierungen Java Basics - Anfänger-Themen 12
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
O Regex Java Basics - Anfänger-Themen 2
F Switch Case Problem mit Regex lösen? Java Basics - Anfänger-Themen 6
H regex-Problem Java Basics - Anfänger-Themen 2
F Ist das ein korrekter Regex-Ausdruck? Java Basics - Anfänger-Themen 12
M Zahlenbereich mit RegEx Java Basics - Anfänger-Themen 3
B Hilfe bei Regex - Erstellung Java Basics - Anfänger-Themen 5
D regex Aufbau Frage Java Basics - Anfänger-Themen 4
W RegEx Matcher + Pattern und Emails Java Basics - Anfänger-Themen 8
R Rechenzeichen als regex Java Basics - Anfänger-Themen 10
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
C Erste Schritte Regex - Datei einlesen und splitten Java Basics - Anfänger-Themen 4
F RegEx Problem Java Basics - Anfänger-Themen 8
F Regex Hilfe Java Basics - Anfänger-Themen 14
U RegEx alle Kommas bei den Zahlen in Punkt umwandeln Java Basics - Anfänger-Themen 3
K RegEx - Multiple Line Java Basics - Anfänger-Themen 3
S Regex Pattern Java Basics - Anfänger-Themen 3
K Regex: illegal character range Java Basics - Anfänger-Themen 4
F RegEX Hilfe Java Basics - Anfänger-Themen 8
U Regex für kommaseparierte Zahlen Java Basics - Anfänger-Themen 1
K Operatoren Regex für 10er Zahlen Java Basics - Anfänger-Themen 8
V Java Regex richtig parsen Java Basics - Anfänger-Themen 2
E Brauche eine Antwort zum Thema RegEx ( Alternative zur Lösung auch gesucht ) Java Basics - Anfänger-Themen 5
N mein RegEx Java Basics - Anfänger-Themen 2
C Lösung für RegEx in Java gesucht Java Basics - Anfänger-Themen 2
B Java - Reguläre Ausdrücke - RegEx oder Regular Expressions - Eckige Klammern Java Basics - Anfänger-Themen 2
M Regex/matcher Java Basics - Anfänger-Themen 2
truesoul Regex für www Java Basics - Anfänger-Themen 0
N Methoden Straßennamen und Hausnummer - RegEx Java Basics - Anfänger-Themen 19
W Erste Schritte Regex negieren Java Basics - Anfänger-Themen 3
E useDelimiter-Anwednung / Regex Java Basics - Anfänger-Themen 2
C java regex Java Basics - Anfänger-Themen 2
C Regex zum matchen ausserhalb von Tags Java Basics - Anfänger-Themen 3
O Regex zwischenspeichern Java Basics - Anfänger-Themen 6
O Regex Java Basics - Anfänger-Themen 5
R Einfacher Regex Java Basics - Anfänger-Themen 3
V RegEx Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben