[REGEX] Backslash in Charakterklasse?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [REGEX] Backslash in Charakterklasse?

    Moin.
    Ich habe ein kleines Problemchen. Und zwar versuche ich per preg_replace alle Zeichenketten "prefix" zu entfernen, die nicht mit einem Backslash beginnen.

    Ich fand die einleuchtendste Variante wäre ja das hier:
    Code:
    #[^\\]prefix_#i
    Funktioniert aber nicht. Irgendwie wird anscheinend das ] escaped.
    Code:
    Compilation failed: missing terminating ] for character class at offset 11
    Dann hab ich es so versucht:
    Code:
    #(?!\\)prefix_#i
    Hier gibt es aber auch das gleiche Problem:
    Code:
    Compilation failed: missing ) at offset 12
    Wie kann ich also auf einen Backslash prüfen?

    mfg oko

  • #2
    #[^\\]prefix_#i

    also, da wird nichts escaped (außer \ natürlich . Eigentlich so wie du willst

    Kommentar


    • #3
      du verwendest außerdem die falsche assertion.
      Code:
      #(?<!\\\\)prefix#
      funktioniert
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        Code:
        #(?<!\\\\)prefix#
        funktioniert, Danke!

        Kommentar

        Lädt...
        X