Eine Taschenuhr
Tue, 31 Jul 2012 20:06 GMT

PCRE versus Caché Pattern

(Permalink)
Der folgende reguläre Ausdruck soll eine internationale Telefonnummer validieren (Credits go to regexlib.com):
^((\+|00)[1-9][0-9]*(\([0-9]*\)|-[0-9]*-))?[0]?[1-9][0-9\- ]*$
Leider sind in Intersystems Caché keine Perl Compatible Regular Expressions möglich, daher mussten wir den obigen Ausdruck in Caché Pattern übersetzen:
1(1(1"00",1"+")1(1"1",1"2",1"3",1"4",1"5",1"6",1"7",1"8",1"9")
    .N1(1"("1.N1")",1"-"1.N1"-"),1"0")
    1(1"1",1"2",1"3",1"4",1"5",1"6",1"7",1"8",1"9").(1N,1"-",1" ")
Hmm, irgendwie finde ich den PCRE-Ausdruck nicht nur kompakter, sondern auch lesbarer!