dyn. Regex Problem

Status
Nicht offen für weitere Antworten.
G

gast2

Gast
Hallo,

ich stehe etwas auf dem Schlauch was die erstellung eines dynamischen Regex angeht:

ich habe eine ArrayList mit Strings...sagen wir (Buch, Zeitung, Pizza Flyer). Diese Liste wird normaler weise zur Laufzeit erstellt und ich weiß nicht was für Worte drin stehen.

ich möchte mir jetzt nen Regex bauen der alles finded was auf "Siehe ArrayList.get(i)" zu trifft...aber irgendwie krieg ich das nicht hin...

Mein Ansatz war folgender:



Code:
String StartREGEXP="(([Ss][Ii][Ee][Hh][Ee][\\s])";

String EndeREGEXP=")";

//DummyList anlegen
ArrayList list = new ArrayList();
ist.add("Buch");
ist.add("Zeitung);
ist.add("Pizza Flyer");
		
StringBuffer buff = new StringBuffer();
//Liste durchlaufen:
if(list!=null && list.size()!=0){
	buff.append(StartREGEXP);
	buff.append("(");
	for(int i=0; i<list.size();i++){                                   <-- Aufbau des Regex in der Schleife funzt nicht so richtig

	   //Kontrollroutine -> Sonderzeichen escapen...
 	   String tmp = RessortList.get(i).toString();
	   //tmp=tmp.replaceAll("\\s", "\\\\s");                          <-- krieg ich nicht hin (für "Pizza Flyer" z.B)
	   list.set(i,tmp);
		
	   buff.append("(");
	   buff.append(list.get(i));
	   buff.append(")");
	   if(i!=list.size()-1)
        {
	    buff.append("||");
        }
   }
    buff.append(")");
    buff.append(EndeREGEXP);
}

Mein Problem ist jetzt zum ersten: wie muß ein solcher REgEx aussehen? D.h. wie bringe ich meine 3 Begriffe da richtig rein und zweitens ich kriegs nich hin die Sonderzeichen wie "Leerzeichen" so umzuwandeln, das es Regex-konform ist.

Könnt ihr mir da etwas helfen?
Danke.

gast2
 
S

SlaterB

Gast
was ist denn daran dynamisch? du brauchst einmal einen RegEx für den Ausdruck "Siehe ArrayList.get(i)"
und was noch? wozu eine Schleife?

wenn die Elemente "Buch, Zeitung, Pizza Flyer" heißen, welche davon sollen denn jemals gleich "Siehe ArrayList.get(i)" sein?

> wie bringe ich meine 3 Begriffe da richtig rein

welche drei Begriffe?

> die Sonderzeichen wie "Leerzeichen" so umzuwandeln, das es Regex-konform ist.

warum umwandeln und nicht einfach so lassen?
welche konkreten Erfahrungen lassen dich ein solches Problem vermuten?

> StartREGEXP="(([Ss][Ii][Ee][Hh][Ee][\\s])";

hat das einen Sinn den du noch erklären willst?

--------

willst du einen ReqEx bauen, der die Elemente "Buch, Zeitung, Pizza Flyer" sucht?
das wäre ja eine ganz neue Info,

schreib doch mal ein fertiges Beispiel bzw ein Szenario,
welcher String durchsucht wird und was darin gefunden werden soll
 
G

gast2

Gast
Hi,

@Slater: wenn du dir mal den Code etwas angesehen hättest, dann hättest du gesehen was daran dynamisch ist, aber was reg ich mich auf...ist ja immer das selbe bei dir...Hauptsache du hast geantwortet und einen Punkt mehr in deiner Statistik.

Falls es sonst wen interessiert...das obige Skript zum erstellen eines dynamischen Regex funktioniert. Der einzige Fehler war, das ich den OR-Operator "||" statt richtiger Weise "|" verwendet hatte...


Gruß,
gast2
 
T

tuxedo

Gast
*SlaterB im letzten Satz voll und ganz zustimm*

So wirklich deutlich ist das Problem für "nicht eingeweihte" nicht.

- Alex
 
G

gast2

Gast
Ich wollte nichts weiter als einen einzigen String erstellen, der später als Regex dienen soll. Dieser Regex sollte in sofern flexibel sein, als dass er in einem beliebigen (SlaterB ncihtsangehenden) Text sachen wie:

Sieht Pizza Flyer

SIEHE Buch

SiEhE Zeitung

etc.

in allen möglichen Kombinationen finden soll. Buch, Zeitung und Pizza Flyer waren 3 Beispielbegriffe die in einer ArrayList stehen, die später beliebige Ausdrücke beinhalten kann. Der Regex soll aber durch OR-Verknüpfung alles mögliche finden...

Ich denke mit ein wenig gehirnschmalz war das rauslesbar...

do far...

Gruß,
gast2
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Pic Download / Regex Problem Allgemeine Java-Themen 7
GilbertGrape Regex-Problem Allgemeine Java-Themen 2
V Kleines Regex-Problem Allgemeine Java-Themen 3
B Regex "Problem" Allgemeine Java-Themen 4
S Regex Problem Single-/Multiline Allgemeine Java-Themen 2
B Regex problem Allgemeine Java-Themen 8
F Problem bei RegEx Allgemeine Java-Themen 5
S Problem mit Regex Allgemeine Java-Themen 2
D Regex-Problem mit replaceAll Allgemeine Java-Themen 5
Daniel_L RegEx: UBB in HTML konvertieren, Problem Verschachtelung Allgemeine Java-Themen 3
G Schon wieder Regex Problem :-/ Allgemeine Java-Themen 6
J Regex Pattern Problem Allgemeine Java-Themen 12
V Suche RegEx zu (gelöstem) Problem Allgemeine Java-Themen 3
S Problem mit backreference mit java und regex Allgemeine Java-Themen 7
M Regex und StringBuffer: Problem mit TAB-Codierung Allgemeine Java-Themen 3
M Problem mit Regex Allgemeine Java-Themen 6
I Problem mit Regex Allgemeine Java-Themen 2
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
T regex case insensitive trimmed Allgemeine Java-Themen 6
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
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
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
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

Ähnliche Java Themen

Neue Themen


Oben