Heim >Backend-Entwicklung >C++ >Warum funktionieren meine Trennzeichen für reguläre Ausdrücke in C# nicht?
Verstehen der Syntax regulärer Ausdrücke in C#
Beim Arbeiten mit regulären Ausdrücken in C# können Probleme auftreten, wenn Sie versuchen, Trennzeichen wie Schrägstriche (/
) zu verwenden, die in Sprachen wie PHP oder JavaScript üblich sind. Sehen wir uns an, warum dies in C# nicht funktioniert und wie man reguläre Ausdrücke richtig implementiert.
Das Problem entsteht durch den Versuch, einen regulären Ausdruck wie diesen (falsch) zu verwenden:
"name = dr-det-fb.ydp.eu/ebook/trunk/annotations/ctrl.php/api1751-4060-1193-0487\nname = Regex.Replace(name, @"/\W/g", "")"
Dieser Code versucht, „/“, „-“ und „.“ zu entfernen. Verwendung von Trennzeichen. Allerdings behandelt C# reguläre Ausdrücke anders. Trennzeichen sind nicht erforderlich und verursachen tatsächlich Fehler.
Der richtige Ansatz in C#
Um einen regulären Ausdruck in C# zu definieren, verwenden Sie das Symbol @
, um ein wörtliches Zeichenfolgenliteral zu erstellen. Dies verhindert, dass C# Escape-Sequenzen innerhalb der Zeichenfolge interpretiert. Sie müssen auch Sonderzeichen innerhalb der Regex selbst korrekt maskieren.
Der korrigierte Code zum Entfernen nicht-alphanumerischer Zeichen (W
) wäre:
<code class="language-csharp">name = Regex.Replace(name, @"\W", "");</code>
Diese einzelne Codezeile ersetzt effektiv alle nicht alphanumerischen Zeichen in der Zeichenfolge name
durch eine leere Zeichenfolge und erzielt so das gewünschte Ergebnis, ohne dass Trennzeichen erforderlich sind. Denken Sie daran, dass W
die Regex-Zeichenklasse ist, die jedem nicht-alphanumerischen Zeichen entspricht.
Das obige ist der detaillierte Inhalt vonWarum funktionieren meine Trennzeichen für reguläre Ausdrücke in C# nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!