Announcement

Collapse
No announcement yet.

Regex

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

  • Regex

    Hallo,

    ich habe folgende Zeile:

    private Regex regQoute = new Regex("^(\x22)(.*)(\x22)(\s*,)(.*)$", RegexOptions.IgnoreCase + RegexOptions.RightToLeft);

    im Bereich \s* ist das s rot unterstrichen: Nicht erkannte Escapesequenz.

    Was ist daran falsch? In vb geht es.

    Viele Grüße
    Ralf

  • #2
    Du must in C\C# das Backslash in Strings escapen damit es wirklich im String ankommt und nicht für Sonderzeichen "mißbraucht" wird.

    -> ^(\\x22)(.*)(\\x22)(\\s*,)(.*)$

    Comment


    • #3
      Du musst den Backslash escapen. Entweder als \\ schreiben oder ein @ vor die Stringkonstante schreiben.

      Comment


      • #4
        Ich würde empfehlen das @ zu verwenden, weil man escape sequenzen in Regexen eigentlich nur sehr sehr selten braucht. Ausserdem beinhaltet ja die Regex selbst auch einen Mechanismus für escape Sequenzen.

        Quasi so:

        Code:
        private Regex regQoute = new Regex(@"^(\x22)(.*)(\x22)(\s*,)(.*)$", RegexOptions.IgnoreCase + RegexOptions.RightToLeft);

        Comment

        Working...
        X