Webstatt.org - Community seit 2006 - 2012 (2024?)

RegExp-Problem

user-343
25.08.2006 19:11

Ja, wieder einmal RegExp. Obwohl ich langsam auch was selbst hinbekomme hinke ich wieder mal daran zwinkern
Es gut um folgendes:
Ich habe eine css-Datei. Darin sind, für eine Webablikation, "Colorcodes"-Klassen gespeichert. Also sowas:

.colorcode_01 {
color: rgb(0%, 0%, 0%);
}


Nun hat es darin auch Kommentare. Und damit ich die Codes in ein array bekomme, um weiter damit zu arbeiten, muss ich also alle Codes aus diesem Code extrahieren und in ein array speichern. Und dafür, denke ich, muss ich die Kommentare mal "rausfiltern". Soweit so gut, dachte ich, und bastelte auch was..:
$file = preg_replace('/\/\*(*.?)\*\//', '', $file);

Funktioniert nur nicht (Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 5 in D:\Serverdokumente\motew\colors.php on line 24).

Irgendwer eine Hilfe wie es geht? ^^"

Avatar user-255
25.08.2006 19:17

Guck mal ganz genau hin --> *.?

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-343
25.08.2006 19:27

Original von user-255
Guck mal ganz genau hin --> *.?



Ahhhh....
$file = preg_replace('/\/\*(.*)\*\//', '', $file);



So geht das... ^^

user-246
29.08.2006 18:07

Wie filtere ich eigentlich Daten zwischen Klammern mit RegExp?

Avatar user-182
29.08.2006 18:15

\(\) so zum beispiel zwinkern

Seid ihr auch schon wix'r? xD
user-246
29.08.2006 18:23

Original von user-182
\(\) so zum beispiel zwinkern



<?php

preg_match("\(\)", "hallo (test)", $treffer);
print $treffer[1];

?>


mmh, da bekomm ich weder mit treffer[0] noch [1] eine Ausgabe. Woran liegt das?

Avatar user-162
29.08.2006 18:24

weil du da nur nach einer Klammer () suchst?

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
Avatar user-253
29.08.2006 18:39


preg_match("/\((.*?)\)/", "hallo (test)", $treffer);
print $treffer[1];


statt .* könnte man in dem Fall auch [a-zA-Z]* benutzen um es genauer anzugeben

Avatar user-271
30.08.2006 12:18

nachdem er einen Colorcode matchen möchte, gehen ja nur zahlen zwinkern
um es genauer anzugeben könnte man den ausschreiben zwinkern

/color: rgb\((\d{1,3})%, (\d{1,3})%, (\d{1,3})%\);/

der sollte dir jetzt eigentlich die Farben getrennt listen zwinkern


edit: achso es geht nur um daten zwischen den klammern ;D
mist ich sollte mehr lesen

#!/bin/bash
traurig){ neutral:& };: