C# Regex Expression schreiben ohne Escape Sequenzen einlösen

Wolly300

Lt. Junior Grade
Registriert
Mai 2014
Beiträge
507
Hallo zusammen,

ich habe in C# ein Problem mit den Regex Expressions. Hier mal meine Befehle:

\(CIS\){\n(.*?)}
\"(.*?)\"
\(PREDEFINED\){\n(.*?)}
\["(.?)","(.?)"\]
\(PPS\){\n(.*?)}
\["(.?)","(.?)"\]
\(COMMANDS\){\n(.*?)}
"(.*?)"
\[(.*?)\]

Ich habe die Befehle mit meinenen Texten Online dort getestet.

Jetzt habe ich das Problem, das ich beim erstellen der Regex Befehle in C# ein Problem mit den Escape Sequenzen bekomme:

Code:
new Regex("\\(CIS\\) {\n(.*?) }");        // Erster Behehl = funktioniert (ohne Fehlermeldung, aber wird noch nicht richtig ausgeführt, es kommt kein Ergebnis raus)
regex = new Regex("\\""(.*?)\\""");        // trotz doppeltem "" und \\ bekomme ich das nicht zum laufen

Wie ihr seht, bekome ich nicht bei allen Befehlen die Probleme weg, wie kann ich das Problem lösen ?

2. Die Befehle brauchen alle das "s" single Line Flag. Wie schreibe ich das in C# bei den Expressions hinten dran ?

Vielen Dank für eure Hilfe
 
@"hiereinreinerstringbeidemkeinescapeinterpretiertwird"

Das @ vor dem String ist entscheidend.
 
Bei regex101 gibt es auch links den Code generator.
 

Ähnliche Themen

Zurück
Oben