Maison développement back-end Tutoriel C#.Net Comment obtenir toutes les parties d'une chaîne qui correspondent à une expression régulière à l'aide de la fonction Regex.MatchCollection en C#

Comment obtenir toutes les parties d'une chaîne qui correspondent à une expression régulière à l'aide de la fonction Regex.MatchCollection en C#

Nov 18, 2023 pm 01:29 PM

Comment obtenir toutes les parties dune chaîne qui correspondent à une expression régulière à laide de la fonction Regex.MatchCollection en C#

Comment utiliser la fonction Regex.MatchCollection en C# pour obtenir toutes les parties d'une chaîne qui correspondent à des expressions régulières. Des exemples de code spécifiques sont requis

Les expressions régulières sont un puissant outil de correspondance de modèles en C#, vous pouvez utiliser Regex. Fonction MatchCollection pour obtenir toutes les parties de la chaîne qui correspondent à l’expression régulière. Cet article explique comment utiliser cette fonction et fournit des exemples de code spécifiques.

Tout d'abord, nous devons introduire l'espace de noms System.Text.RegularExpressions dans le code, qui contient des classes et des méthodes liées aux expressions régulières. Cet espace de noms peut être introduit avec le code suivant :

using System.Text.RegularExpressions;

Nous pouvons ensuite utiliser la fonction Regex.MatchCollection pour obtenir toutes les parties de la chaîne qui correspondent à l'expression régulière. Cette fonction reçoit deux paramètres : la chaîne à rechercher et l'expression régulière. Renvoie un objet MatchCollection qui contient tous les résultats correspondants.

Voici un exemple de code simple qui montre comment utiliser la fonction Regex.MatchCollection pour obtenir toutes les parties d'une chaîne qui correspondent à une expression régulière :

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main(string[] args)
    {
        string input = "Hello, my name is John. My email is john@example.com. Please contact me at john@example.com.";

        // 定义正则表达式
        string pattern = @"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}";

        // 执行匹配
        MatchCollection matches = Regex.Matches(input, pattern);

        // 遍历所有匹配结果
        foreach (Match match in matches)
        {
            Console.WriteLine(match.Value);
        }

        Console.ReadLine();
    }
}

Dans le code ci-dessus, nous définissons une chaîne qui contient une adresse e-mail, et utilisez une expression régulière pour faire correspondre les adresses e-mail qu'elle contient. Cette expression régulière peut correspondre à des chaînes correspondant au format de la boîte aux lettres. Ensuite, nous utilisons la fonction Regex.Matches pour faire correspondre la chaîne d'entrée et enregistrer tous les résultats correspondants dans un objet MatchCollection. Enfin, nous parcourons l'objet et imprimons toutes les adresses e-mail correspondantes.

Exécutez le code ci-dessus et le résultat de sortie est le suivant :

john@example.com
john@example.com

Vous pouvez voir que le code génère toutes les adresses e-mail correspondantes dans la chaîne.

Résumé : cet article explique comment utiliser la fonction Regex.MatchCollection en C# pour obtenir toutes les parties d'une chaîne qui correspondent à l'expression régulière. En introduisant l'espace de noms System.Text.RegularExpressions et en utilisant la fonction Regex.Matches, nous pouvons facilement effectuer une correspondance d'expressions régulières et obtenir tous les résultats correspondants. J'espère que cet article pourra vous être utile lorsque vous utilisez C# pour la correspondance de chaînes et le traitement des expressions régulières !

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1596
276
Utilisation de la bibliothèque parallèle de la tâche (TPL) en C # Utilisation de la bibliothèque parallèle de la tâche (TPL) en C # Jul 31, 2025 am 07:56 AM

TPL de C # simplifie le traitement des tâches parallèles via la classe de tâches. 1. Utilisez Task.Run () ou Task.factory.startNew () pour démarrer la tâche et recommander le premier; 2. Obtenez le résultat via la tâche et attendez l'achèvement avec Await ou .result; 3. Utilisez la tâche.Whenall () pour exécuter plusieurs tâches en parallèle, faites attention à la concurrence des ressources; 4. Utilisez AggregateException pour gérer les exceptions et parcourez les erreurs spécifiques après la capture; 5. Utilisez l'annulation de l'annulation pour annuler la tâche, ce qui convient aux scénarios d'annulation de délai d'attente ou d'utilisateur; Dans le même temps, faites attention à éviter de mélanger le code synchrone et asynchrone pour éviter les problèmes de blocage.

Comment lire un fichier texte ligne par ligne en C #? Comment lire un fichier texte ligne par ligne en C #? Aug 02, 2025 am 06:52 AM

Il existe deux façons courantes de lire les fichiers texte ligne par ligne en C #: Utilisation de StreamReader et File.Readlines (). 1. La méthode ReadLine () de StreamReader convient au traitement des fichiers volumineux, à lire la ligne par ligne par ligne et à faire la mémoire et utilise l'utilisation pour assurer la libération des ressources; 2. File.readlines () fournit du code concis, adapté aux scénarios qui ne doivent être traversés qu'une seule fois, prend en charge le chargement paresseux et peuvent spécifier le codage. Si vous devez accéder au contenu du fichier plusieurs fois, file.readalllines () est recommandé. Les deux reconnaissent automatiquement le codage par défaut, mais pour éviter le code brouillé, il est recommandé de spécifier explicitement Encoding.Utf8 et Enc selon les besoins.

Tiration de C # pour l'informatique scientifique et l'analyse des données Tiration de C # pour l'informatique scientifique et l'analyse des données Aug 05, 2025 am 06:19 AM

C # Can BeBeusedForscidificCompupingAndDataanalysySettingUpAproperenvironment, LeverageRagingRelantLibrary, andoptimizingperformance.first, installvisualstudioorvscodewiththe.netsdkasthefoundation.next, usenudioorvsewithat

Choisir le bon type de collection C # pour les performances Choisir le bon type de collection C # pour les performances Aug 01, 2025 am 03:47 AM

Le choix du bon type de collection peut améliorer considérablement les performances du programme C #. 1. Insérer ou supprimer fréquemment la liste liée au milieu, 2. Recherchez rapidement en utilisant HashSet ou Dictionary, 3. Correction des éléments fixes pour utiliser d'abord les tableaux, 4. Sélectionnez HashSet lorsque des valeurs uniques sont nécessaires, 5. Recherche fréquemment en utilisant un dictionnaire ou un environnement tridable.

C # struct vs comparaison des performances de classe C # struct vs comparaison des performances de classe Aug 02, 2025 am 11:56 AM

Les structures ne sont pas nécessairement plus rapides, les performances dépend du scénario. Struct est le type de valeur, la copie d'affectation Toute la structure, la classe est le type de référence, la copie d'affectation uniquement la référence. La structure est généralement allouée sur la pile, et le passage rapide mais fréquent de grandes structures augmentera la surcharge de réplication, et l'attribution de la classe implique une pression GC sur le tas. Les petites structures conviennent aux scénarios de haute performance et conviviaux, et les grandes structures doivent être évitées ou passées avec Ref / in. La mémoire compacte du réseau de structure est propice à la mise en cache, et les références de réseau de classe sont dispersées pour affecter l'efficacité. Scénarios où les structures sont préférées: petites données, cycle de vie de courte durée, aucun héritage ou méthodes virtuelles ne sont nécessaires. Évitez d'utiliser des scénarios de structure: grande structure, logique complexe, polymorphe, emballage fréquent et partage

Quel est le mot-clé statique en C # utilisé? Quel est le mot-clé statique en C # utilisé? Jul 30, 2025 am 02:24 AM

En C #, le mot-clé statique est utilisé pour définir les membres appartenant au type lui-même et peut être accessible sans instanciation. 1. Les variables statiques sont partagées par toutes les instances de la classe et conviennent au suivi de l'état global, tels que l'enregistrement du nombre d'instanciation de la classe; 2. Les méthodes statiques appartiennent aux classes plutôt qu'aux objets, et ne peuvent pas accéder directement aux membres non statiques, et sont souvent utilisés dans les fonctions d'assistance dans les classes d'outils; 3. Les classes statiques ne peuvent pas être instanciées et ne contiennent que des membres statiques. Ils conviennent à l'organisation de méthodes pratiques apatrides, mais ne peuvent pas hériter ou mettre en œuvre des interfaces. Lorsque vous l'utilisez, vous devez prêter attention à la gestion de la mémoire et aux problèmes de sécurité des filetages.

Travailler avec la sérialisation JSON et XML dans C # Travailler avec la sérialisation JSON et XML dans C # Jul 31, 2025 am 04:12 AM

Le choix de JSON ou XML dépend du scénario d'application: 1. La situation d'utilisation de JSON comprend des données de retour WebAPI, une interaction frontale, une communication de service moderne et une configuration légère; 2. La situation d'utilisation de XML comprend la compatibilité du système hérité, la prise en charge de l'espace de noms, les structures de données basées sur des documents et les spécifications d'interface d'application au niveau de l'entreprise. En C #, .Netcore utilise System.Text.json pour la sérialisation JSON par défaut, avec de meilleures performances et prend en charge la sortie formatée et la rétention de valeur nul; XML est implémenté via XMLSerializer, adapté aux anciens projets, et peut personnaliser les noms de balises et les espaces de noms, mais ne prend pas en charge les références circulaires, et doit être traité manuellement ou remplacé par d'autres bibliothèques. Sélectionnez et configurez rationnellement les méthodes de sérialisation pour aider à gérer différents développements

Gérer les fuites de mémoire et la collecte des ordures en C # Gérer les fuites de mémoire et la collecte des ordures en C # Aug 02, 2025 am 04:24 AM

Les fuites de mémoire existent et ont un impact profond en C #, en particulier pour les applications à long terme. Les signaux communs incluent une augmentation de la mémoire continue et un GC fréquent mais pas de libération évidente. Ils peuvent être analysés et confirmés par des outils tels que VisualStudio et DotMemory. Les principales raisons et solutions sont les suivantes: 1. J'ai oublié d'annuler l'abonnement de l'événement, vous devez annuler ou utiliser manuellement les références faibles; 2. La collection statique n'est pas nettoyée et l'entrée doit être supprimée régulièrement ou utiliser la référence faible; 3. Les ressources non gérées ne sont pas publiées, iDisposable doit être implémentée et en utilisant des instructions. De plus, la compréhension du mécanisme GC générationnel et l'optimisation de l'utilisation de la mémoire tels que la réduction de la création d'objets temporaires, l'utilisation rationnelle des structures et l'évitement de la fragmentation du LOH peuvent également aider à améliorer les performances. Maîtriser ceci

See all articles