hallo Forum,
meine Beschäftigung mit regulären Ausdrücken geht in die zweite Woche
und wieder tut sich seltsames auf. Ich habe in Javascript eine 'Quelltextmaschine' geschrieben, die Quelltexte HTML-gerecht maskieren soll, damit man sie in einem <pre>-Tag abbilden kann. Unter Anderem sollen dort einzeilige C-Kommentare, denen ein Whitespace vorangeht in ein entsprechend formatiertes <span> eingepackt werden.
der reguläre Ausdruck, der auch funktioniert sieht so aus:
var reg = new RegExp("([ \t\v\n\r\f]//.*)","g")
NICHT funktionieren tut dagegen dies:
var reg = new RegExp("(\s//.*)","g")
obwohl doch \s = [ \t\v\n\r\f] ist oder?
weiß jemand, was das wieder für ein Trick ist?
Dieses Wunderwerk der elektronischen Dateverarbeitung ;-) ist übrigens einschließlich Quelltext zu sehen unter:
http://dhtml.andeas-lindig.de ->Javascript ->reg. Ausdrücke ->Nr.20
meine zweite Frage wäre:
kann man eigentlich auch nach einer Zeichekette suchen, die etwas Bestimmtes nicht enthalten soll?
Wenn ich z.B. alle Wörter suche, die nicht 'ei' enthalten:
/\b[^ei]*\b/
geht nicht, weil 'nicht e' und 'nicht i' einzeln gesucht werden; aber eine Verneinung vor einer runden Klammer ist mir nicht bekannt.
hmmm... für überraschende Antworten immer dankbar, Andreas