Axel Richter: RegEx für CSS-Klassen

Beitrag lesen

Hallo,

ich möchte aus einer CSS-Datei die verschiedenen Definitionen heraussuchen, also z.B. bei:

body, html
{
  ....
}

h1
{
...
}

a.test:link, a.test:active, a.test:hover
{
...
}

möchte ich eine Liste mit
body
html
h1
a.test:link
a.test:active
a.test:hover

haben.

Soweit funktioniert das mit folgendem Ausdruck:

(\s*([^,{]+))

Nein, denn Dein RegExp passt auf:

....
}

h1

und auf:

...
}

a.test:link

also:
ein oder kein white-space, gefolgt von mindestens einem Zeichen, welches kein "," und kein "{" ist.

auch schon, allerdings wird mir nie das erste Element herausgesucht,

Doch, aber eben als:
" ... \n}\n\nh1"
und als:
" ... \n}\n\na.test:link"

Das, was Du möchtest, wird mit einfachem RegExp nicht funktionieren. Dazu ist eine komplette Programmlogik notwendig.

viele Grüße

Axel