2017-04-17 6 views
-1

Ich habe Probleme mit regulären Ausdrücken. Ich versuche es zu bekommen, wo die Person einen Vor- und Nachnamen eingeben muss, der durch Leerzeichen getrennt ist und nur Buchstaben erlaubt sind. Für die Kreditkarte können sie nur Ziffern eingeben. Ich habe eine Vorstellung von den zu verwendenden Mustern, aber ich bin nicht sicher, wie man sie genau benutzt.Probleme mit regulären Ausdrücken

Console.Write("Enter your name for the card: "); 
string name = Convert.ToString(Console.ReadLine()); 
string pattern; 
pattern = ("\b[a-zA-Z]{2,15}\s[a-zA-Z]{2,15}\b"); 
Console.Write("Enter your credit card number: "); 
string card = Convert.ToString(Console.ReadLine()); 
pattern = "^[0-9]{12,19}$"; 
Console.WriteLine("Thank-you for ordering. "); 
+1

'Console.ReadLine()' gibt '' string' zurück, so dass Sie 'Convert.ToString' nicht brauchen – juharr

+0

Wo ist der Code, wo Sie die Muster verwenden? Welche Ergebnisse bekommst du? Was erwartest du? – juharr

+0

'var rePattern = new System.Text.RegularExpressions.Regex (pattern);' google dann, was damit zu tun ist. –

Antwort

-1

Hier gehen Sie. Dieses Beispiel soll Sie dazu bringen, Regex in C# zu verwenden.

Ich habe auch Console.ReadLine() in while Schleifen eingewickelt, so dass der Benutzer korrekte Daten eingeben muss, bevor Sie fortfahren.

Sie können den Code in Aktion mit diesem working fiddle

// Get Full Name 
string name = ""; 
while (!Regex.IsMatch(name, @"\b[a-zA-Z]{2,15}\s[a-zA-Z]{2,15}\b")) 
{ 
    Console.Write("Enter your name for the card (Firstname Lastname): "); 
    name = Console.ReadLine(); 
} 

// Get Credit Card Number 
string card = ""; 
while (!Regex.IsMatch(card, "^[0-9]{12,19}$")) 
{ 
    Console.Write("Enter your credit card number: "); 
    card = Console.ReadLine(); 
} 

Console.WriteLine("Thank-you for ordering. "); 
Console.Read(); 

sehen Seien Sie sicher, using System.Text.RegularExpressions; zum Anfang der Datei hinzuzufügen.

+0

Das gibt mir eine bessere Vorstellung von dem, was zu tun ist. Danke für das Beispiel. Ich denke, ich kann den Rest von hier herausfinden, jetzt, wo ich eine bessere Vorstellung davon habe, wie reguläre Ausdrücke funktionieren. – Shade

+0

Ich bin froh, dass ich helfen konnte! Wenn ich heute Zeit habe, werde ich die Antwort bearbeiten und den Code ein bisschen mehr aufräumen. –

+0

Aus irgendeinem Grund, wenn mir jemand zeigt, wie es gemacht wird, hilft es mir, den Code besser zu verstehen als Seiten von Erklärungen. Ich schätze deine Hilfe sehr! – Shade

Verwandte Themen