Regexp: Alles ohne ZEICHENKETTE
Moin,
ich versuch jetzt schon seit einigen Stunden eine Regexp für folgenden Fall zu finden: Code:
/*Group:MyGroupName*/ /Group:(^(?!\\*\\/)+)\\*\\/(^(?!\\/\\*)*)\\/\\*/ Rot: Alles außer */ Blau: Alles außer /* Ich brauch also MyGroupName und den ganzvieltextmitzeichenaußer*/ in 2 Variablen. Wie kann ich dieses Problem lösen? mfg Time-Over |
AW: Regexp: Alles ohne ZEICHENKETTE
Hi
Zitat:
Zitat:
nutzt du? Ich könnte dir natürlich den richtigen schreiben, das hat aber kein Lerneffekt für dich. Also zeige ich dir wie du an solche Aufgaben rangehen kannst. step by step 1.Du willst alles nach /*Group: - * ist ein reserviertes Zeichen muss also escaped werden Dein Regex also Code:
'~/\*Group:(.*)~s' Code:
Array ( [0] => Array ( [0] => /*Group:MyGroupName*/ ganzvieltextmitzeichenaußer*/ /*end*/ ) [1] => Array ( [0] => MyGroupName*/ ganzvieltextmitzeichenaußer*/ /*end*/ ) ) - an * denken Code:
'~/\*Group:([^\*/]*)~s' Code:
Array ( [0] => Array ( [0] => /*Group:MyGroupName ) [1] => Array ( [0] => MyGroupName ) ) Zwischengedanke: Warum nutze ich ~ als Delimiter? Weil ich keine Lust habe meinen Delimiter 100mal zu escapen ;) siehe zu 2. mit / als Delimiter Code:
/\/\*Group:([^\*\/]*)/s CKaos |
AW: Regexp: Alles ohne ZEICHENKETTE
Okay es gibt da nur noch ein kleines Problem bei deinem Ansatz. Einen "funktionierenden" Ansatz mit diesem Problem hatte ich nämlich auch schon. Entschuldige dass ich diesen nicht gleich gepostet habe.
Code:
/Group:([^\\*\\/]+)\\*\\/([^\\/\\*]*)/ bei Klammer 1: "Alle Zeichen außer Zeichenkette */" und bei Klammer 2: "Alle Zeichen außer Zeichenkette /*" Und das ist das Problem für das ich einfach keine Lösung auf die Beine bekomme. Vielleicht kannst du mir jetzt besser weiterhelfen? mfg Time-Over |
AW: Regexp: Alles ohne ZEICHENKETTE
Hi
Zitat:
ersten teil vorgeschrieben/gelöst habe. Anscheinend beinhaltet dein gewünschtes Ergebnis weitere Vorgaben die du hier enthälst. Vielleicht (mit Glaskugel) bringt dich der Ansatz weiter PHP-Code:
CKaos |
AW: Regexp: Alles ohne ZEICHENKETTE
Abend,
tut mir leid dass ich einige wichtige Punkte vergessen habe. Also nochmal von 0. Ich habe einen string der folgendermaßen aussieht: /*Group:Nahrung*/ kuchen,eis+apfel*essen /*Group:Gebäude*/ {ein geb*äude, haus. kirche / bauernhof /*Group:Bäume*/ eiche/birke& /*end*/ Ich brauche nun ein Array[count][2] (count in diesem Fall 3) wobei Array[count][0] den jeweils rot markierten Wert beinhaltet und Array[count][1] den blau markierten Dein Ansatz im vorherigen Post bringt mich leider nicht weiter, da er ja dann alle vorherkommenden */ bzw /* mitaufnimmt. //EDIT: Okay mit dem /Us hinten gehts =) Danke dir!!! Werd gleich mal googlen was es sich damit auf sich hat. Das kannte ich bisher noch garnicht. Ansatz: Code:
"/Group:(.+)\\*\\/(.*)\\/\\*/Us" -closed- mfg Time-Over |
AW: Regexp: Alles ohne ZEICHENKETTE
Zitat:
cx |
AW: Regexp: Alles ohne ZEICHENKETTE
Zitat:
mfg Time-Over |
AW: Regexp: Alles ohne ZEICHENKETTE
Zitat:
cx |
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:49:24 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.