regex problem

Maximilian Wilhelm max at rfc2324.org
Wed Sep 20 16:25:44 CEST 2006


Am Mittwoch, den 20. September hub Thomas Balsfulland folgendes in die Tasten:

> hallo leute,
> 
> ich habe ein regex-problem mit dem openser (sip proxy).
> in einer bedingung soll geprueft werden, ob:
> 
>  - die rufnummer eine deutsche ist (49 am anfang)
>  - ein "+" davor ist, oder auch nicht
>  - min 9 stellen und max 15 stellen hat.

> das mit der 49 und dem "+" ist ja nicht das problem, aber das pruefen
> der rufnummernlaenge. so siehts in der config aus:
[...] 
>   if (uri=~"^sip:\+?49[1-9][0-9]*\{6,9\}@.*")
                        ~~~~~~~~~~~~~~~~~~
Das widerspricht sich:
 Einerseits sagst Du mit dem *, dass das 0 - \infty mal auftreten
 darf, danach schraenkst Du es mit der Menge ein.

 Ergo sollte das eher so aussehen: [1-9][0-9]\{6,9\}

Du wirst das '?' wahrscheinlich auch noch escapen muessen.

mwilhelm at galois[~]$ echo sip:495241335336 at 62.53.239.214 | grep \
	'^sip:\+\?49[1-9][0-9]\{6,9\}@.*'
sip:495241335336 at 62.53.239.214

Ciao
Max
-- 
|           |                 Follow the white penguin.
|  |\/|  |  |-----------------------------------------------------------.
|  |  |/\|  |  Rechnerbetrieb Mathematik  |   Meine Baustellen:  TSM    |
|           |  Universitaet Paderborn     |   Hostmaster, Linux, LDAP   | 



More information about the Linux mailing list