Regualar Expression für numerische Bereiche

Jan-Benedict Glaw jbglaw at lug-owl.de
Sun Jul 11 09:10:39 CEST 2010


On Sun, 2010-07-11 03:16:59 +0200, Benedikt Wildenhain <liste-lug-owl.de at benedikt-wildenhain.de> wrote:
> On Sat, Jul 10, 2010 at 11:51:01AM +0200, Sascha Effert wrote:
> > größer als 783 and kleiner als 57954 sind, also alle Werte, die in
> > einem von ihnen spezifizierten Bereich liegen. Kann ich so eine
> > Abfrage auf Regular Expressions abbilden? 
> Im Prinzip schon, aber es ist ein wenig umständlich:
> Für das Beispiel musst du folgendes erfassen:
> 0*(78[4-9]|79[0-9]|[89][0-9][0-9]|[1-9][0-9][0-9][0-9]|
> [1-4][0-9][0-9][0-9][0-9]|5[0-6][0-9][0-9][0-9] ...)
> 
> also hier erstmal bis zum nächsten Vielfachen von 10, 100, 1000, 10000
> abdecken, dann die Zahlen >10000, <50000 und dann wieder entsprechend
> kleinschrittiger werden. Ob das für dich eine sinnvolle Methode ist, die
> Suche einzugrenzen, ist natürlich eine andere Frage.

...zumal das Ausführen von regexec() nicht gerade "schnell" ist. Und
extra-langsam wirds, wenn man dann nicht ein festes Ein-Byte-Charset
nutzt, sondern z.B. UTF-8.

Da ists _vermutlich_ deutlich schneller, die Zahl mit atoi() etc.
wirklich in eine /Zahl/ zu verwandeln und dann einen simplen
Zahlenvergleich zu tätigen.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw at lug-owl.de              +49-172-7608481
Signature of:               http://www.eyrie.org/~eagle/faqs/questions.html
the second  :
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20100711/250b63ce/attachment.sig>


More information about the Linux mailing list