Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här stegvisa artikeln beskriver hur du skapar och använder reguljära uttryck för att avgöra om strängar matchar vissa mönster.
Ursprunglig produktversion: Visual C#
Ursprungligt KB-nummer: 308252
Sammanfattning
Reguljära uttryck möjliggör enkel parsning och matchning av strängar till ett specifikt mönster. Med hjälp av de objekt som är tillgängliga i RegularExpressions namnområdet kan du jämföra en sträng med ett visst mönster, ersätta ett strängmönster med en annan sträng eller bara hämta delar av en formaterad sträng. I det här exemplet skapar vi ett mönster för att verifiera en e-postadress. Den här artikeln refererar till microsoft .NET Framework-klassbibliotekets namnområde System.Text.RegularExpressions.
Krav
Den här artikeln förutsätter att du är bekant med följande ämnen:
- Visual C#
- Syntax för reguljära uttryck
Använda reguljära uttryck för att matcha ett mönster
Starta Visual C#.
Skapa ett nytt Visual C#-konsolprogram.
Ange nyckelordet
Text.RegularExpressionsusing på namnområdet så att du inte behöver kvalificera deklarationer i dessa namnområden senare i koden. Användningssatsen måste användas före andra deklarationer:using System.Text.RegularExpressions;Definiera ett nytt reguljärt uttryck som använder en mönstermatchning för att verifiera en e-postadress. Följande reguljära uttryck är strukturerat för att åstadkomma tre saker:
- Samla in delsträngen före symbolen
@och placera den iusergruppen. - Samla in delsträngen efter symbolen
@och placera denhosti gruppen. - Kontrollera att den första halvan av strängen inte har någon
@symbol.
Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");- Samla in delsträngen före symbolen
Definiera en ny sträng som innehåller en giltig e-postadress. Detta ger ett standardvärde om metodens kommandoradsargument är tomt:
String s = "johndoe@tempuri.org";Kontrollera om det finns några kommandoradsparametrar. om det finns hämtar du den första parametern och tilldelar den till variabeln
s.if (args.Length > 0) { s = args[0]; }Använd metoden
Matchför att skicka in e-postadressvariabeln och returnera ett nyttMatchobjekt. ObjektetMatchreturneras oavsett om några matchningar hittades i källsträngen.Match m = emailregex.Match(s);Genom att
Successundersöka egenskapen kan vi bestämma om objektet ska bearbetasMatcheller skrivas ut. Om det lyckas visar du deuserochhostnamngivna grupperna iGroupsobjektetsMatchsamling.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 ();Om du vill hålla konsolfönstret öppet när programmet har körts lägger du till följande kodrader:
System.Console.WriteLine("Press Enter to Continue..."); System.Console.ReadLine();Skapa ditt projekt.
Om du vill köra programmet i utvecklingsmiljön med standardadressen för e-postadressen som anges i koden trycker du på F5 eller väljer Starta på felsökningsmenyn. Det finns tre alternativ för att starta programmet med ett kommandoradsargument:
- På Projekt-menyn klickar du på Egenskaper och sedan på Felsök. I avsnittet Startalternativ i den högra rutan anger du den e-postadress som du vill testa. Tryck på F5 eller klicka på Starta på felsökningsmenyn för att köra programmet.
- Starta ett kommandofönster och navigera till mappen bin eller debug under mappen där projektet finns. Skriv sedan namnet på den körbara filen följt av den e-postadress som du vill testa.
- Leta upp den körbara filen för det här projektet och dra den till Start... Kör fönstret i aktivitetsfältet. Lägg till e-postadressen för att verifiera och klicka på OK.