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.RegularExpressions
della 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
Avviare Visual C#.
Creare una nuova applicazione console Visual C#.
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;
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:
- Acquisire la sottostringa prima del
@
simbolo e inserirla neluser
gruppo. - Acquisire la sottostringa dopo il
@
simbolo e inserirla nelhost
gruppo. - Assicurarsi che la prima metà della stringa non contenga un
@
simbolo.
Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
- Acquisire la sottostringa prima del
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";
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]; }
Utilizzare il
Match
metodo per passare la variabile di indirizzo di posta elettronica e restituire un nuovoMatch
oggetto . L'oggettoMatch
restituirà indipendentemente dal fatto che siano state trovate corrispondenze nella stringa di origine.Match m = emailregex.Match(s);
Esaminando la
Success
proprietà è possibile decidere se continuare a elaborare l'oggettoMatch
o stampare un messaggio di errore. In caso di esito positivo, visualizzare iuser
gruppi denominati ehost
all'interno dell'insiemeGroups
dell'oggettoMatch
.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 ();
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();
Compilare il progetto.
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per