Quelqu'un peut-il expliquer comment faire fonctionner cette regex? Je suis en train de prendre cette chaîne:Regex Remplacer par une barre oblique
"Test0/1"
et la transformer en:
"Test0\/1"
J'utilise, mais il ne fonctionne pas:
var test = Regex.Replace("Test0/1", @"/", @"\/");
Il continue à donner moi
"Test0\\/1"
Ensuite, je veux prendre les résultats de la chaîne et le mettre dans une déclaration Regex comme ceci:
var match = new Regex(test).Match(myString);
donc la chaîne « test » doit être une déclaration de regex valide. Fondamentalement, ce que j'essaie de faire est de prendre une liste d'interfaces sur un périphérique, de créer une expression regex à partir d'eux, puis utiliser cette regex pour comparer les résultats pour d'autres choses dans mon code. En raison de la façon dont les interfaces sont formatées "FastEthernet0/1" par exemple, il provoque l'échec de mon regex car vous devez échapper toutes les barres obliques. Je dois construire cette regex à la volée parce que chaque périphérique aura un ensemble différent d'interfaces.
Si vous voyez '" Test0 \\/1 "' dans le débogueur, alors ne vous inquiétez pas. La chaîne est toujours correcte. Essayez de l'imprimer sur la console ou en cliquant sur l'icône en forme de loupe à gauche de la chaîne que vous voyez. – Nolonar
Je vois cela dans le débogueur, mais je ne l'imprime pas. J'utilise les résultats pour mettre dans Regex(). Il doit donc s'agir d'une instruction Regex valide. C'est pourquoi j'essaie d'échapper à la barre oblique. –
@KyleRogers le débogueur l'affiche simplement de cette façon. –