[VB.NET] RegEx Sonderzeichen maskieren

Hallo,

heute mal wieder eine kleine Notiz für mich – und alle die es auch ab und zu brauchen :)

RegEx (Regular Expressions) sagt sicher vielen etwas, die Programmieren. Nun kommt es aber auch mal vor das in der RegEx-Anweisung Zeichen vorkommen die eigentlich als Steuerzeichen reserviert sind. Wie zum Beispiel:

$ ^ { [ ( | ) * + ?

Sieht unsere Anweisung jetzt so aus

pattern = "<a href="(.*?)<strong>?</strong>.*?">.*?</a>"

haben wir schon ein Problem. Den das zweite Fragezeichen ist kein Sonderzeichen, sondern soll wirklich ein Fragezeichen im String sein. Wie teilen wir das jetzt VB.NET mit?

Ganz einfach. Wir maskieren es mit einem Backslash ‚‚. So sieht unser korrekter Pattern wie folgt aus:

pattern = "<a href="(.*?)<strong>?</strong>.*?">.*?</a>"

Und schon wird das Fragezeichen auch als Fragezeichen interpretiert und nicht als Steuerungszeichen.  ;)

0 Antworten

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Feel free to contribute!

Schreibe einen Kommentar

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

*