Gast
2006-01-05, 21:41:32
Moin!
Irgendwas mache ich falsch, nur weiß ich nicht, was.
void Medium::setISBN(std::string isbn)
{
//wxRegEx *reIsbn = new wxRegEx("\d{1,5}[- ]\d{1,7}[- ]\d{1,6}[- ](\d|X){1}$");
wxRegEx *reIsbn = new wxRegEx("\d");
if (reIsbn->Matches(isbn.c_str()))
{
std::cout << "beh.\n";
// ...
Der auskommentierte Ausruck kommt erstmal nicht zur Verwendung, obwohl er an sich stimmt. Mit "\d" wird eine Ziffer erwartet. Das ist korrekt, testen kann man das z.B. hier (http://www.personeel.unimaas.nl/H.Schotel/Testaregex/).
Trotz korrekter Eingabe wie z.B. "1" gibt er kein "beh." aus. Für Vorschläge wäre ich sehr dankbar.
Irgendwas mache ich falsch, nur weiß ich nicht, was.
void Medium::setISBN(std::string isbn)
{
//wxRegEx *reIsbn = new wxRegEx("\d{1,5}[- ]\d{1,7}[- ]\d{1,6}[- ](\d|X){1}$");
wxRegEx *reIsbn = new wxRegEx("\d");
if (reIsbn->Matches(isbn.c_str()))
{
std::cout << "beh.\n";
// ...
Der auskommentierte Ausruck kommt erstmal nicht zur Verwendung, obwohl er an sich stimmt. Mit "\d" wird eine Ziffer erwartet. Das ist korrekt, testen kann man das z.B. hier (http://www.personeel.unimaas.nl/H.Schotel/Testaregex/).
Trotz korrekter Eingabe wie z.B. "1" gibt er kein "beh." aus. Für Vorschläge wäre ich sehr dankbar.