Ich habe Regex Muster (etwa 100 oder so), die Regex-Klasse in C# implementiert sind. Jetzt möchte ich verschiedene Gewichte geben, wenn meine Eingabe-Strings verschiedenen Mustern getroffen, für Instanzen:Hit verschiedene Regex-Muster und geben Sie dann unterschiedliche Gewicht in C#
input_string = "xxxx... ";
weight=0.;
Regex name_exp=new Rex("pe[t,e]er|j[o,0]hn|may|....");
if (name_exp.Match(input_string).Success==true);
{
weight = (0.5 if it hits pe[t,e]er, 0.3 if it hits j[o,0]hn...)
}
Wie gestalten Sie ein Programm, um es in einer besseren Art und Weise zu tun, da ich 100 Muster haben, zur Liste alle von ihnen ist nicht sehr effizient. Ich denke auch über die Verwendung der Karte nach. Aber kann der Kartenindex ein Regex sein? Dank
abgestimmt haben: [Dies] (http://stackoverflow.com/a/7707369/92546) kann hilfreich sein, wenn Sie laufen in Leistungsprobleme mit mehreren Regex-Mustern. Oder nicht. – HABO
Sie wollen nicht wirklich Kommas in der Mitte der Namen ('Pe, er', 'j, hn') übereinstimmen, oder? Ein Komma hat in einer Zeichenklasse keine besondere Bedeutung. –
Es ist nicht ganz klar, was "besser" hier bedeutet. Bitte versuchen Sie, Ihre Frage anzugeben. – YakovL