Filter mit * und ? (wie bei SQL Query)
-
Ich hätte gerne eine Funktion wie:
BOOL Filter(CString sText, CString sFilter)
Die Funktion prüft ob der Inhalt von 'sText' zum Filter 'sFilter' passt.
Beispiel:
Filter("Test", "*est") == TRUE; Filter("Test", "T?st") == TRUE; Filter("Hallo", "Test") == FALSE;
Ist bestimmt klar was ich meine.
Dass ich faul bin weiß ich auch schon, möchte nur wissen ob es da schon was gibt...
-
Hier stehts:
-
Der Code kan nicht funktionieren.
Und das wird in den Kommentaren auch geschrieben.Solche Suchpattern können nur mit ienem richtigen Stack/rekursiv behandelt werden und cniht mit ein paar Variablen.
-
-
Hab das jetzt mal mit boost probiert...
Kriege den Code zum Laufen, aber bekomme je nach Filter einen stack overflow!?Hier der funktionierende code:
CString path = "abcd"; boost::regex r("bc"); boost::tmatch what; if(boost::regex_match(path, what, r)) { } else { }
wenn ich
boost::regex r("*bc");
eingebe tritt der Fehler auf...