Zitat von AmicaNoctis
Beitrag anzeigen
Algorithmus gesucht (String zu RegExp)
Einklappen
X
-
Zitat von fireweasel Beitrag anzeigenBacktracking dagegen schon.[COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
[/COLOR]
Kommentar
-
jup, das ist mal das eine.
@jmc, meine Lösung soll ja auch 2 Fliegen mit einer Klappe schlagen:
nämlich das Testen auf gültiges Intervall *UND* auch das Testen auf gültige Syntax (s. a. Amicas Posting mit Beispielmuster), um potentielle ("alte") Eingabefehler aufzuspüren.
Das wird erreicht, indem ich die RegExp so wie sie aus der range2regex-Routine kommt, um den alphanumerischen Teil noch erweitere, und mir somit ein xmal-Testen pro Zelle spare (statt einmal auf Bed. A, dann nochmal auf B, usw.)
Da mich aber für den Kern-Algorithmus nur der Zahlenteil (links) interessiert hatte, hatte ich das zuvor auch nicht erwähnt, war hier ja auch nicht so relevant - kann ich dann anschließend ja selber ergänzen.
Zitat von jmc Beitrag anzeigenWarum also keine RegExp in der Art?
1. Sie ist mit mehreren OR-Konditionen relativ langsam.
Das ist m. E. eine unsinnige (da Pauschal-)Aussage, die auf einige Sprachen zutreffen mag, in anderen u. U. völlig egal ist!
Es kommt bekanntlich immer auf die Implementation und i. d. R. auch auf die "Nähe" zum Maschinencode an.
Will sagen, dass du da ggf. bei Java voll recht hast, es ja sogar hardware-/betriebssystemabhängig sein kann da hier für JEDE Implementation eine eigens dafür geschriebene Runtime-Engine laufen muss. D. h. es kann auf einem Mac im schlimmsten Fall 3x so lange benötigen während es auf einer Linux-Maschine superschnell läuft.
Zum anderen können die Berechnungszeiten u. U. sehr stark differieren, je nachdem ob es sich um eine standalone Programmiersprache oder eine fast ausschließlich für Skripte verwendete (i. d. R. direkt interpretierte) Sprache wie PHP, JavaScript, Perl usw. handelt!Zuletzt geändert von syntaxerror; 09.06.2010, 00:49.
Kommentar
Kommentar