Regular Expressions für unsere Color-Tags: Wer kann es lösen?
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
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:
Dieser ##red|Text ist rot,## aber dieser hier nicht. Jetzt kommt die Raute ############ warum auch immer. Nun noch einmal ein ##green|grüner Text ## und zum Schluss noch eine Raute #. Die Farbe ist evtl aber auch ###ff9933|Text in orange.## Den Text muss keiner Verstehen ##
Hier die aktuelle RegEx Bedingung, die im Beispiel aber nicht funktioniert (ohne die Rauten im Text schon):
/([##]{2}(.+?)\|(.+?)[##]{2})/g
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 298878
Url: https://administrator.de/contentid/298878
Printed on: April 20, 2024 at 00:04 o'clock
5 Comments
Latest comment
Hi Frank,
um eventuell nicht existierende Farben zusätzlich auszuschließen noch definierter :
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.
/#{2}([a-z]+|#[\da-f]{3,6})\|(.+?)#{2}/gi
/#{2}((AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGray|DarkGrey|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|Dar###ge|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkSlateGrey|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DimGrey|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gray|Grey|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGray|LightGrey|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSlateGrey|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|SlateGrey|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)|#[\da-f]{3,6})\|(.+?)#{2}/gi
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.
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
naja, du musst nur ausschließen, dass davor Rauten kommen ;)
/[^#]*(#{2}([^#]+?)\|([^#]+?)#{2})[^#]*/g
That's it.
Edit: Mal so nebenbei, ich bevorzuge https://regex101.com/ ;)
Gruß
Chris
(! regexpal.de funktioniert bei mir nicht korrekt !)
Hi, Nabend,
ich habe auch was anzubieten:
Ich habe alle | im Text nummeriert und finde die folgenden Treffer: 1,4,11 und 12
Essen ist fertig, bis später
~Arano
Hi, Nabend,
ich habe auch was anzubieten:
/(##([^#|]+?)\|(.+?)##)/g
(oh, noch ein Bug !?)/(##([^#|]+?)\|(.+?)##)/g
Ich habe alle | im Text nummeriert und finde die folgenden Treffer: 1,4,11 und 12
Dieser ###12345|1Ungültig,## dffdgd##|2ölasdlkasöl|3ajsj##as##as#d ddf dfg###12345|4Ungültig,## aber . Jetzt kommt die Raute ####|5ölsdkf###sd##fd#sfd|6sdy7||8<asölkasd adplasd9||10a###a#s#as#d#afg#df#ggfd#d#fg#dfg#####dfg#d#fg
##dfg#dfg###dfgdfgdf#g#fd##warum auch immer. Nun noch einmal ein ##green|11grüner Text ist gütig ## und zum Schluss noch eine Raute #.###asdasd|12asdad###
MATCH 1
1. [8-28] `##12345|1Ungültig,##`
2. [10-15] `12345`
3. [16-26] `1Ungültig,`
MATCH 2
1. [75-95] `##12345|4Ungültig,##`
2. [77-82] `12345`
3. [83-93] `4Ungültig,`
MATCH 3
1. [294-328] `##green|11grüner Text ist gütig ##`
2. [296-301] `green`
3. [302-326] `11grüner Text ist gütig `
MATCH 4
1. [364-382] `##asdasd|12asdad##`
2. [366-372] `asdasd`
3. [373-380] `12asdad`
Essen ist fertig, bis später
~Arano