String zu Regex (Escape String)

MSDN - Regex.Escape Methode
MSDN – Regex.Escape Methode

Wie kann ich aus einer Zeichenkette (String) einen regulären Ausdruck machen?! Bei Google gesucht, lange nichts Sinnvolles gefunden. Bis ich im MSDN auf Regex.Escape gestoßen bin. Die Methodenbeschreibung lautet:

Versieht einen minimalen Satz von Zeichen (\, *, +, ?, |, {, [, (,), ^, $,., # und Leerraum) mit Escapezeichen, indem diese durch die jeweils entsprechende Escapesequenz ersetzt werden.So wird das Modul für reguläre Ausdrücke angewiesen, diese Zeichen wörtlich zu interpretieren und nicht als Metazeichen.

Deshalb hier ein kurzer Artikel, wie man aus einem String ein Regex Suchmuster macht. Einfach den RegularExpressions-Namespace hinzufügen

using System.Text.RegularExpressions;

Danach kann der String wie folgt umgewandelt werden:

string searchpattern = "<!--?xml version="1.0"?-->";
searchpattern = Regex.Escape(searchpattern);
Debug.Print(searchpattern); // Ausgabe: <\?xml\ version="1\.0"\?>

Nun noch die schnelle Variante:

string searchpattern = Regex.Escape("<!--?xml version="1.0"?-->");
// searchpattern hat nun den Inhalt: <\?xml\ version="1\.0"\?>

Die Methode ist static, muss also vorher nicht instanziert werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Du kannst diese HTML-Tags und -Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>