Cheatah: (Regexp) Backslash

Beitrag lesen

Hi,

OK, ich habe nicht bedacht, dass der Stern ja auch in dem Sinne ein Sonderzeichen, ein Quantifier ist.

der Stern spielt überhaupt keine Rolle - den willst Du ja genau so verwenden, wie er gedacht ist. Ihn musst Du nicht escapen. Statt dessen gilt die allgemeingültige, *immer* zu beachtende Regel:

Wenn Du einen Wert in einen Kontext bringst, musst Du ihn kontextspezifisch kodieren.

Du willst also den Wert "" in den RegExp-Kontext bringen. Seine Kodierung dort lautet "\". Anschließend(!) willst Du diesen Wert in einen PHP-String-Kontext bringen. Jeder der beiden Backslashes ist dort ein zu kodierendes Sonderzeichen, so dass sich "\\" ergibt. Würde in RegExp mittel "§" und in PHP-Strings mittes "%" kodiert werden, wäre das Ergebnis "§%" oder "%§%", je nachdem ob "§" in PHP-Strings ein Sonderzeichen ist oder nicht.

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