Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Reguläre Ausdrücke

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
21.06.2006, 13:54 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Also Idee aus einem anderem Forum und weil hier nix los ist mal folgende Aufgabe.

Gesucht wird eine Funktion welche einen String übergeben bekommt (C-String oder std::string liegt in eurem Ermessen) und nach 4 beliebigen Ziffern gefolgt von einem Zeilenumbruch \n sucht.
Wenn der Ausdruck gefunden wird soll die Funktion den Index des ersten Zeichens des Ausdrucks zurückgeben wenn nicht soll -1 zurückgegeben werden.
Erlaubt sind wie gesagt Lösungen in C oder C++, allerdings nicht die Verwendung von vorgefertigten Bibliotheksfunktionen die mit regular Expressions umgehen können.

Hab mal ganz schnell was billiges zusammengeschustert und damit mehr mitmachen können setzte ich das Par mal auf 100.

Viel Spaß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.06.2006, 17:14 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


also man soll z.b

fuba\n

in

hutzlibutzlifuba\nblablubb\nmeinmob\n

suchen? und liefern solls dann in diesem fall 12, also der "Anfang" von fuba\n ?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.06.2006, 19:36 Uhr
Tommix




Zitat von FloSoft:
also man soll z.b

fuba\n

in

hutzlibutzlifuba\nblablubb\nmeinmob\n

suchen? und liefern solls dann in diesem fall 12, also der "Anfang" von fuba\n ?

Nein, nein - kannst' net lesen ?
Gesucht werden sollen vier beliebige (!) Ziffern. Und wenn dabei aber der eingegebene Ausdruck gefunden wird, dann - äh, Moment. Muß nachdenken ...


Gruß, Tommix


Bearbeitung:

Doch es ergibt einen Sinn. In dem eingegebenen Ausdruck ist nach ziffer-ziffer-ziffer-ziffer-\n zu suchen.
Sorry es ist sau heiß hier.


Dieser Post wurde am 21.06.2006 um 19:40 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.06.2006, 20:13 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


@Tommix
genau

mit dem String "dmgfhd\nsfgrih1452\nskdrg"
soll dann z.B. 12 zurückgebeben werden weil da der Ausdruck beginnt. Wenn nix gefunden wird dann soll -1 zurückgegeben werden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.06.2006, 20:42 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Du denkst dran, das \n 1 Zeichen ist ?
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
21.06.2006, 21:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


irgendwie peil ich das noch nicht, kannste mal den "richtigen" regulären ausdruck dazu herschreiben?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.06.2006, 22:16 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


In dem String oben wäre das "1452\n", weil es 4 Ziffern gefolgt von einem Zeilenumbruch sind.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
22.06.2006, 00:28 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


er meint wohl sowas: /\d{4}\n/
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
22.06.2006, 08:34 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von J-jayz-Z:
er meint wohl sowas: /\d{4}\n/


ah, warum sagt er das nicht gleich
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
22.06.2006, 13:27 Uhr
0xdeadbeef
Gott
(Operator)



C++:
f(char*s){int i=0,x=0;for(;*s&&(x-4||*s-10);++i)x+=isdigit(*s++)?1:-x;return *s?i-4:-1;}


77 Code + 11 Signatur = 88 Zeichen
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: