Regular Expressions für unsere Color-Tags: Wer kann es lösen?

Mitglied: Frank

Frank (Level 5) - Jetzt verbinden

11.03.2016, aktualisiert 12.03.2016, 1779 Aufrufe, 5 Kommentare

Hi,

ich benötige bei unseren Regular Expressions mal etwas Hilfe. Der Color-Code in der Textformatierung funktioniert leider nicht einwandfrei. Evtl findet ihr eine gute Lösung. Hier die Bedingungen:

Der Text:

Hier die aktuelle RegEx Bedingung, die im Beispiel aber nicht funktioniert (ohne die Rauten im Text schon):

Hier die Seite, um das es zu prüfen: http://www.regexpal.com/

Ziel ist es, nur die beiden Color-Codes als Ergebnis zu bekommen.

Hier ein paar Hilfen zu den Regular Expressions: http://blog.weblogie.de/webentwicklung/merkblatt-regular-expressions/
Hier die PHP Doku zum Befehl, der verwendet wird: http://php.net/manual/en/function.preg-replace.php

Wer hat die Lösung? Er wird natürlich auch in der Release Note dankend erwähnt. Ruhm und Ehre winken!

Gruß
Frank
Mitglied: 114757
114757 (Level 4)
LÖSUNG 11.03.2016, aktualisiert um 19:12 Uhr
Hi Frank,
um eventuell nicht existierende Farben zusätzlich auszuschließen noch definierter ;-) face-wink:
Gruß jodel32

p.s. Da gibt es noch einige andere Bugs, ich muss sie mal alle sammeln, sind doch einige die da zusammenkommen. Melde mich mal damit.
Bitte warten ..
Mitglied: keine-ahnung
11.03.2016 um 18:19 Uhr
Moin Frank,

ich versteh zwar nur Bahnhof, aber wenn alle Stricken reissen sollten, schick ich Dir 'ne Packung Buntstifte ... :-) face-smile

LG, Thomas
Bitte warten ..
Mitglied: Sheogorath
LÖSUNG 11.03.2016, aktualisiert um 18:47 Uhr
Moin,

naja, du musst nur ausschließen, dass davor Rauten kommen ;)


That's it.

Edit: Mal so nebenbei, ich bevorzuge https://regex101.com/ ;)

Gruß
Chris
Bitte warten ..
Mitglied: Arano
LÖSUNG 11.03.2016 um 19:56 Uhr
(! regexpal.de funktioniert bei mir nicht korrekt !)

Hi, Nabend,

ich habe auch was anzubieten: /(##([^#|]+?)\|(.+?)##)/g (oh, noch ein Bug !?)

Ich habe alle | im Text nummeriert und finde die folgenden Treffer: 1,4,11 und 12




Essen ist fertig, bis später :) face-smile
~Arano
Bitte warten ..
Mitglied: Frank
12.03.2016, aktualisiert um 09:18 Uhr
BuHi,

vielen Dank an alle beteiligten User :-) face-smile Hätte gar nicht so viel Feedback auf eine Regular Expressions Frage erwartet. Bin leider kein Regular Expressions Gott und daher habe ich mal wieder was gelernt.

Zum Thema: Ich habe alle Ansätze getestet und mich für einen entschieden. Generell ist die Seite https://regex101.com/ tatsächlich besser als mein Vorschlag von oben. Ich kannte sie noch nicht, daher ein Dankeschön an @Sheogorath. Hier mein Kommentare zu den einzelnen Lösungen:

@114757,

Gotscha, hier passt alles. War ja auch blöd von mir zwei Rauten zu nehmen und diese dann nur einmal zu erlauben. Statt dessen eine Raute und sie zweimal zu erlauben ist sicherlich klüger. Dann die genaue Eingrenzung von A-Z für die Farbe oder den Farbcode mit 3 oder 6 Zeichen. Jap, das hatte ich komplett übersehen. Diese Variante habe ich gerade im aktuellen Release eingebaut.

Da gibt es noch einige andere Bugs, ich muss sie mal alle sammeln, sind doch einige die da zusammenkommen. Melde mich mal damit.

ja klar, her damit, evtl können wir sie gemeinsam lösen. Gerne als PM oder hier als neuer Feedback-Beitrag.

@Sheogorath

Jap, auch diese Regel passt genau. Sie liefert aber zu viele Ergebnisse, bei langen Texten könnte das Performance kosten. Man müsste sie etwas vereinfachen.

@Arano

Auch diese Regel funktioniert, hat aber einen mini Fehler im Ergebnis, wenn ein Farbcode statt Farbname angegeben wird (wie z.B. ###ff9933. Den hatte ich allerdings in der ersten Version im Beispieltext oben auch nicht erwähnte, also meine Schuld).

ich habe auch was anzubieten: /(]+?)\|(.+?))/g (oh, noch ein Bug !?)

Nein, ich filtere im normalen Text einige Zeichen einfach raus. Man muss schon die Code-Tags für solche Dinge nutzen.


Noch mal vielen Dank für die Lösungen. Die nächste Hilfeanfrage bei Regular Expressions wird sicherlich kommen :-) face-smile

Gruß
Frank
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
Ein Weg weg von Microsoft. Wie würde man es angehen? Lasst uns doch etwas spinnen
it-fraggleVor 1 TagAllgemeinOff Topic51 Kommentare

Guten Morgen Kollegen, es treibt mich schon seit einigen Jahren um, dass es sinnvoll wäre langsam einen Weg weg von Microsoftprodukten zu finden. Mir ...

Hardware
Versorgungsengpass Chips
NebellichtVor 1 TagAllgemeinHardware19 Kommentare

Allg. frage ich mich ja warum Apple auf ARM frühzeitig gesetzt hat. Die Automobilindustrie gerade Absatzprobleme hat, weil keine Chips mehr geliefert werden können. ...

Server-Hardware
HPE ProLiant MicroServer Gen10 Plus - Wo wird das OS installiert?
mayho33Vor 1 TagFrageServer-Hardware13 Kommentare

Hallo @ All, Ich liebäugle mit einem neuem Server (siehe Überschrift). Mein alter Gen8 ist zwar immer noch am laufen, aber es gibt einiges ...

Windows Server
Server 2019 RDS-CALs für Domänen-Admins? Ernsthaft?
gelöst anteNopeVor 1 TagFrageWindows Server7 Kommentare

Nabend zusammen, ich habe hier heute einen RDS auf Basis eines Server 2019 STD installiert und mit User-CALs lizenziert. Soweit funktioniert auch alles. Nur ...

Festplatten, SSD, Raid
Wie würdet ihr eine Datenrettung machen?
pd.edvVor 19 StundenFrageFestplatten, SSD, Raid11 Kommentare

Hallo, ich arbeite gerade an einem Blog-Artikel zum Thema Datenrettung und würde mich brennend interessieren wie Ihr eine Datenrettung angehen würdet. Sagen wir mal ...

Multimedia
PDF Dokumente KOSTENLOS ausfüllen, wie?
Mrhallo19981Vor 1 TagFrageMultimedia12 Kommentare

Hallo, ich möchte PDF Dokumente kostenlos ausfüllen. Anschließend sollen diese Signiert werden. Signieren tu ich mit einem Zertifikat von Adobe. Deswegen ist es wichtig, ...

Windows Server
Lokaler DNS verlangsamt Internet?
gelöst Rattical84Vor 6 StundenFrageWindows Server20 Kommentare

Hallo zusammen, ich habe hier eine Domäne mit dem Domänencontroller als DNS-Server. Das ist der einzige DC und DNS-Server im Netz. Jetzt habe ich ...

Ubuntu
Installiert auf Rechner
khaldrogoVor 11 StundenFrageUbuntu9 Kommentare

Hallo Leute, Wir haben einen neuen Server bekommen, auf dem wir per Remotedesktopverbindung verbunden sind und arbeiten. Auf dem Server sind leider nicht alle ...