Trovare una corrispondenza con un modello usando Visual C# ed espressioni regolari

Questo articolo dettagliato illustra come creare e usare espressioni regolari per determinare se le stringhe corrispondono a determinati modelli.

Versione originale del prodotto: Oggetto visivo C#
Numero KB originale: 308252

Riepilogo

Le espressioni regolari consentono di analizzare e associare facilmente le stringhe a un modello specifico. Usando gli oggetti disponibili nello RegularExpressions spazio dei nomi, è possibile confrontare una stringa con un determinato modello, sostituire un modello di stringa con un'altra stringa o recuperare solo parti di una stringa formattata. In questo esempio verrà creato un modello per convalidare un indirizzo di posta elettronica. Questo articolo fa riferimento allo spazio dei nomi System.Text.RegularExpressionsdella libreria di classi di Microsoft .NET Framework.

Requisiti

Questo articolo presuppone che si abbia familiarità con gli argomenti seguenti:

  • Oggetto visivo C#
  • Sintassi delle espressioni regolari

Usare espressioni regolari per trovare la corrispondenza con un modello

  1. Avviare Visual C#.

  2. Creare una nuova applicazione console Visual C#.

  3. Specificare la parola chiave using nello Text.RegularExpressions spazio dei nomi in modo che non sia necessario qualificare le dichiarazioni in tali spazi dei nomi più avanti nel codice. L'istruzione using deve essere usata prima di qualsiasi altra dichiarazione:

    using System.Text.RegularExpressions;
    
  4. Definire una nuova espressione regolare che userà una corrispondenza di modello per convalidare un indirizzo di posta elettronica. L'espressione regolare seguente è strutturata per eseguire tre operazioni:

    1. Acquisire la sottostringa prima del @ simbolo e inserirla nel user gruppo.
    2. Acquisire la sottostringa dopo il @ simbolo e inserirla nel host gruppo.
    3. Assicurarsi che la prima metà della stringa non contenga un @ simbolo.
    Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
    
  5. Definire una nuova stringa contenente un indirizzo di posta elettronica valido. Fornisce un valore predefinito se l'argomento della riga di comando del metodo è vuoto:

    String s = "johndoe@tempuri.org";
    
  6. Verificare se sono presenti parametri della riga di comando; in caso affermativo, recuperare il primo parametro e assegnarlo alla variabile s.

    if (args.Length > 0) {
        s = args[0];
    }
    
  7. Utilizzare il Match metodo per passare la variabile di indirizzo di posta elettronica e restituire un nuovo Match oggetto . L'oggetto Match restituirà indipendentemente dal fatto che siano state trovate corrispondenze nella stringa di origine.

    Match m = emailregex.Match(s);
    
  8. Esaminando la Success proprietà è possibile decidere se continuare a elaborare l'oggetto Match o stampare un messaggio di errore. In caso di esito positivo, visualizzare i user gruppi denominati e host all'interno dell'insieme Groups dell'oggetto Match .

    if (m.Success)
    {
        Console.WriteLine ("User: " + m.Groups["user"].Value);
        Console.WriteLine ("Host: " + m.Groups["host"].Value);
    }
    else
    {
        Console.WriteLine (s + " is not a valid email address");
    }
    Console.WriteLine ();
    
  9. Per mantenere aperta la finestra della console dopo l'esecuzione dell'applicazione, aggiungere le righe di codice seguenti:

    System.Console.WriteLine("Press Enter to Continue...");
    System.Console.ReadLine();
    
  10. Compilare il progetto.

  11. Per eseguire l'applicazione nell'ambiente di sviluppo usando l'indirizzo di posta elettronica predefinito specificato nel codice, premere F5 o selezionare Avvia dal menu Debug . Per avviare l'applicazione con un argomento della riga di comando, sono disponibili tre opzioni:

    • Scegliere Proprietà dal menu Progetto e quindi fare clic su Debug. Nella sezione Opzioni iniziali del riquadro destro specificare l'indirizzo di posta elettronica da testare. Premere F5 o fare clic su Avvia dal menu Debug per eseguire l'applicazione.
    • Avviare una finestra di comando e passare alla cartella bin o debug nella cartella in cui si trova il progetto. Digitare quindi il nome del file eseguibile seguito dall'indirizzo di posta elettronica da testare.
    • Individuare il file eseguibile per questo progetto e trascinarlo in Start... Finestra Di esecuzione sulla barra delle applicazioni. Aggiungere l'indirizzo di posta elettronica da verificare e fare clic su OK.

Riferimenti