[REGEX] Backslash in Charakterklasse?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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

    Comment


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

      Comment


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

        Comment

        Working...
        X