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