Maison >développement back-end >C++ >Pourquoi les délimiteurs Regex ne fonctionnent-ils pas en C# et comment utiliser correctement les expressions régulières ?
Comprendre les expressions régulières en C#
Les expressions régulières (regex) définissent des modèles de recherche dans les chaînes. Alors que des langages comme PHP, Perl et JavaScript utilisent des délimiteurs (par exemple /pattern/g
) pour définir des modèles d'expression régulière, C# les gère différemment. Cet article explique cette différence et montre l'approche C# correcte.
Syntaxe des délimiteurs Regex dans d'autres langues
De nombreuses langues utilisent des délimiteurs pour délimiter le modèle d'expression régulière et les modificateurs :
<code>/\W/g </code>
Ici :
/
sont les délimiteurs.W
est le modèle regex (correspond à des caractères autres que des mots).g
est un modificateur (recherche/remplacement global).Pourquoi les délimiteurs ne fonctionnent pas en C#
La classe de Regex
C# n'utilise pas de délimiteurs. Tenter de les utiliser entraînera des erreurs. C# utilise une syntaxe différente pour définir et appliquer des modèles d'expression régulière.
La bonne approche C#
La méthode préférée en C# est d'utiliser la méthode Regex.Replace()
:
<code class="language-csharp">Regex.Replace(name, @"\W", "");</code>
Cela applique directement le modèle (W
) à la chaîne d'entrée (name
), en supprimant les caractères autres que des mots. Le symbole @
avant la chaîne de motif empêche C# d'interpréter spécialement les barres obliques inverses.
Avantages de la syntaxe Regex de C#
Éviter les délimiteurs en C# permet :
Résumé
L'utilisation de délimiteurs avec la classe Regex
de C# est incorrecte et entraînera des problèmes. La méthode Regex.Replace()
fournit la manière correcte et efficace de travailler avec des expressions régulières en C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!