Je dois utiliser des expressions régulières dans une application C# et j'essaie de l'utiliser comme une chaîne pour utiliser la méthode regex.match. Mon expression régulière est comme id="(tt[0-9]+)\|imdb
et je la convertis en chaîne comme "id\"(tt[0-9]+)\\|imdb"
mais cela ne fonctionne pas. Avez-vous des solutions ou des applications qui convertissent les regex en chaînes?expressions régulières à chaîne dans C#
Répondre
Vous pouvez supprimer l'échappement et utiliser un signe @.
@"id=""(tt[0-9]+)\|imdb"
Note: vous devez doubler les doublequotes
En C#, il est une bonne idée d'ajouter une @
avant chaînes contenant reg exps:
@"id\"(tt[0-9]+)\\|imdb"
Sinon, le moteur regexp serait seulement voir cette chaîne:
id"(tt[0-9]+)\|imdb
où \|
n'est pas reco Gnized comme vous le voulez.
Bon conseil, pas si bonne explication. Dans la version verbatim string, le '\" 'doit être changé en' "" 'et la barre oblique inverse supplémentaire dans' \\ | 'devrait être supprimée, mais l'expression rationnelle de l'OP est bien formée pour une chaîne non verbatim. le vrai problème était le '=' manquant, comme @AndrewCox a souligné dans son commentaire –
Je ne suis pas sûr de ce que vous essayez d'accomplir, alors je suis sur un autre chemin que les autres postes.
La méthode Regex.Match
devrait prendre le String
que vous essayez de faire correspondre, il semble que vous essayez de revenir en arrière d'un RegEx construit à une chaîne. Si tel est le cas, appelez simplement ToString()
sur le RegEx pour obtenir l'expression transmise.
Si vous essayez simplement d'obtenir l'expression en tant que chaîne alors le pattern
var ci-dessous afin que serait faire usage du @ comme mentionné dans les autres postes. Quoi qu'il en soit, le RegEx
lui-même devrait contenir le motif que vous voulez comparer.
string text = "91919182389348487";
string pattern = @"id=""(tt[0-9]+)\|imdb";
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
Match m = r.Match(text);
...
merci qui a fonctionné parfaitement !! –
@Emre Assurez-vous de l'accepter comme réponse, merci –
- 1. Expressions régulières dans C: exemples?
- 2. Expressions régulières en C#
- 3. Expressions régulières - extraire l'URL dans la chaîne
- 4. Expressions régulières dans Ada?
- 5. expressions régulières dans ASP.NET
- 6. Expressions régulières dans VbScript?
- 7. Expressions régulières dans J2ME
- 8. Ruby expressions régulières
- 9. expressions régulières
- 10. Expressions régulières
- 11. expressions régulières question
- 12. expressions régulières
- 13. expressions régulières
- 14. Python expressions régulières
- 15. Expressions régulières en PHP
- 16. Expressions régulières Analyse lexicale
- 17. expressions régulières php array
- 18. Expressions régulières _ # à la fin de la chaîne
- 19. Expressions régulières en Java
- 20. JavaScript - Expressions régulières
- 21. Java supprimer HTML à partir de chaîne sans expressions régulières
- 22. Powershell fait correspondre une seule chaîne à plusieurs expressions régulières?
- 23. Les expressions régulières correspondent à n'importe quelle chaîne entre [et]
- 24. expressions régulières - tester si une chaîne contient une autre chaîne
- 25. Expressions régulières, quel ennui!
- 26. C# expressions régulières - mots entiers correspondants?
- 27. C# Expressions régulières avec des caractères \ Uxxxxxxxx dans le modèle
- 28. Fractionnement d'une chaîne complexe avec des expressions régulières
- 29. Aide sur les expressions régulières en C#
- 30. Expressions régulières pour trouver des éléments C++?
votre chaîne est manquante le = est-ce intentionnel? –