Cheatah: Reguläre Ausdrücke

Beitrag lesen

Hi,

  1. ? + * funktionieren bei Zeichenklassen oder direkt.

sie beziehen sich auf das vorgehende Pattern, welches unter anderem auch eine Zeichenklasse oder ein "gewöhnliches" (im Sinne von "ohne Sonderbedeutung bei RegExp") Zeichen sein kann. Innerhalb einer Zeichenklasse haben sie keine Sonderbedeutung.

  1. ^ vor einer Zeichenklasse bedeutet 'nicht'. Wenn man ^ direkt einsetzt, bedeutet es, dass es am Anfang steht.

Richtig, wobei "vor einer Zeichenklasse" als "als erstes Zeichen in einer Zeichenklasse" gemeint sein muss.

/[^abc]/ heißt, dass alle Buchstaben außer a, b und c gehen.

Alle Zeichen, nicht nur alle Buchstaben.

/^abc/ heißt, dass abc am Anfang sein muss. Also würde alles gehen, was mit abc anfängt? Richtig?

Ja. Mit dem Schalter /m ist "Anfang" als "Anfang einer Zeile" zu verstehen.

  1. Klammern bedeuten, dass das in der Klammer gespeichert wird, bzw. man dem Inhalt eine Eigenschaft zuweisen kann.

Zunächst. Beginnt der Klammerninhalt mit einem Fragezeichen, gelten besondere Regeln, die diese Speicherung beispielsweise unterbinden können.

Also das ? bedeutet hier nicht:
"? entspricht {0,1}, also entweder das Zeichen taucht gar nicht auf oder höchstens 1 mal."

Korrekt. Andernfalls würde es bedeuten, dass die öffnende runde Klammer 0 oder 1 mal auftreten soll - sie hat jedoch eine vollkommen andere Bedeutung.

  1. Warum kommt bei dieser Schreibweise /(foo)bar/ folgende ausgabe: foobar und foo?

Weil Du $0 und $1 ausgibst. $0 ist immer der komplette mit dem Pattern gematchte String. Erst $1 enthält den Match des ersten geklammerten Ausdrucks.

  1. Lerne noch fleißig mod_rewrite. Habe zwei deutsche Seiten gefunden:

Halte Dich am besten an die Dokumentation.

  1. Ich hatte mir überlegt, dass der erste Pfad nach den Domain der Parameter für die page sein sollte:

Verwende bei Beispiel-Domains bitte die in RFC 2606 festgelegten Schemata.

index.jsp prüft dann, ob es die pages auch gibt.

Möglicherweise ist dies bereits mit RewriteCond möglich.

Nun überlege ich, ob ich weitere Parameter dann einfach dahinter hänge und einfach weiterreiche oder daraus Pfade mache:

Die Idee halte ich in dieser Allgemeinheit für riskant.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes