using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
public static void Main()
List<string> alleWorte = new List<string>()
"aal","aas","abt","ach","add","ade","aha","akt","all","alp","als",
"alt","amt","ans","app","ast","ätz","aue","auf","aus","axt","ära",
"bad","bar","bär","bau","bei","bin","bis","böe","bös","box","bub","bug",
"bus","cab","cap","car","ces","chi","cis","cop","cup","cut","dax","dem","der",
"des","das","die","dir","dom","duo","eck","ego","ehe","ehr","eid","eil","ein",
"eis","elf","emu","eng","erb","erd","erz","ess","fad","fan","fax","fee","feg",
"fit","fön","fug","gab","gäb","gar","gär","gas","gau","geb","geh","gel","geo",
"gib","gin","gnu","gör","gut","hab","hat","hau","heb","heg","her","heu","hex",
"hin","hip","hit","hob","hof","hol","hör","hub","huf","hut","ich","ihm","ihn",
"ihr","ins","iod","ion","ire","irr","iss","jag","jäh","job","jod","jux","kap",
"käs","kau","klo","koi","kot","kuh","lag","las","lau","leb","les","lob","log",
"lol","lot","lud","lug","lüg","mag","mäh","mai","mal","man","mir","mit","mop",
"müh","nah","näh","neu","net","nie","nix","not","nun","nur","obi","ode","öde",
"oft","off","oha","ohm","öhm","oho","ohr","öhr","oje","öko","öle","ölt","oma",
"opa","ort","öse","ösi","ost","ork","pad","phi","par","per","pin","pop","pot",
"pro","psi","pub","pur","qis","rad","rap","rar","rät","rau","red","reh","rex",
"roh","rom","rot","ruf","rüg","rum","sag","säg","sah","säh","sät","sau","saß","seh",
"see","sei","sex","sir","ski","sod","sog","spa","süd","sud","tag","tal","tao",
"tat","tät","tau","tee","tip","tja","tob","tod","ton","tön","top","tor","tot",
"tue","tun","tür","tut","typ","übe","übt","uff","ufo","uhr","uhu","ulm","ums",
"und","uni","uns","ups","uzi","via","vom","von","vor","wag","wal","war","wär",
"was","web","weg","weh","wem","wen","wer","wie","wie","wob","wog","wok","wow",
"wut","xis","yen","yin","zag","zäh","zar","zeh","zen","zog","zoo","zug","zum",
string wortliste = string.Join(",", alleWorte.ToArray());
List<string> allePattern = new List<string>()
@"\b[a-c]{3}\b",@"\b[a-d]{3}\b",@"\b[a-e]{3}\b",@"\b[a-f]{3}\b",@"\b[a-g]{3}\b",@"\b[a-h]{3}\b",@"\b[a-i]{3}\b",@"\b[a-j]{3}\b",@"\b[a-k]{3}\b",@"\b[a-l]{3}\b",
@"\b[a-m]{3}\b",@"\b[a-n]{3}\b",@"\b[a-o]{3}\b",@"\b[a-p]{3}\b",@"\b[a-q]{3}\b",@"\b[a-r]{3}\b",@"\b[a-s]{3}\b",@"\b[a-t]{3}\b",@"\b[a-u]{3}\b",@"\b[a-v]{3}\b",
@"\b[a-w]{3}\b",@"\b[a-x]{3}\b",@"\b[a-y]{3}\b",@"\b[a-z]{3}\b",@"\b[a-zä]{3}\b",@"\b[a-zäö]{3}\b",@"\b[a-zäöü]{3}\b",@"\b[a-zäöüß]{3}\b" };
Console.WriteLine(("").PadRight(100, '-'));
Console.WriteLine("Willkommen!");
Console.WriteLine("Mit diesem Programm werden Worte mit 3 Buchstaben aus einer Liste gesucht.");
Console.WriteLine("Zur Überschaubarkeit ist die Anzahl der zu verwendeten Buchstaben definierbar.");
Console.WriteLine("Geben Sie z.B. 3 ein, so werden nur Worte angezeigt die die Buchstaben 'A', 'B', 'C' enthalten.");
Console.WriteLine("\t\tHinweis:\t26 = Alphabet a-z || 27 = Alphabet + 'Ä' || 28 = Alphabet + 'Ä','Ö'");
Console.WriteLine("\t\t\t\t29 = Alphabet + 'Ä','Ö','Ü' || 30 = Alphabet + 'Ä','Ö','Ü','ß' ");
Console.WriteLine("Zum beenden schließen Sie das Fenster oder geben sie \"exit\" ein");
Console.WriteLine(("").PadRight(100, '-'));
var eingabe = Console.ReadLine();
if (int.TryParse(eingabe, out eingabeint))
Console.WriteLine("Ihre eingegebene Zahl ist: {0}", eingabeint);
eingabeint = Convert.ToInt32(eingabe);
if (eingabeint > 30 || eingabeint < 0)
Console.WriteLine("Bitte geben Sie eine Zahl zwischen 3 und 30 ein.");
var k = allePattern[eingabeint];
if (eingabeint > allePattern.Count)
Console.WriteLine("Bitte geben Sie eine Zahl zwischen 3 und 30 ein.");
Console.WriteLine("Ein Wort muss mindestens aus einem Buchstaben bestehen!");
Console.WriteLine("Es existieren keine Worte mit 3 Buchstaben, welche nur aus 'a' bestehen.");
Console.WriteLine("Keine Treffer in der Liste für A und B gefunden.");
if (eingabeint <= allePattern.Count && eingabeint != 0 && eingabeint != 1 && eingabeint != 2)
MatchCollection collection = Regex.Matches(wortliste, k);
Console.WriteLine("Folgende Worte wurden in der Liste gefunden:");
foreach (Match m in collection)
Console.WriteLine(m.Value);
Console.WriteLine("Sie können eine weitere Zahl eingeben.");
Console.WriteLine("Ihre Eingabe {0} ist keine Zahl.", eingabe);